mirror of
https://github.com/lightningnetwork/lnd.git
synced 2025-02-23 14:40:30 +01:00
This commit fixes the following race, 1. syncer(state=syncingChans) sends QueryChannelRange 2. remote peer replies ReplyChannelRange 3. ProcessQueryMsg fails to process the remote peer's msg as its state is neither waitingQueryChanReply nor waitingQueryRangeReply. 4. syncer marks its new state waitingQueryChanReply, but too late. The historical sync will now fail, and the syncer will be stuck at this state. What's worse is it cannot forward channel announcements to other connected peers now as it will skip the broadcasting during initial graph sync. This is now fixed to make sure the following two steps are atomic, 1. syncer(state=syncingChans) sends QueryChannelRange 2. syncer marks its new state waitingQueryChanReply. |
||
---|---|---|
.. | ||
ban.go | ||
ban_test.go | ||
bootstrapper.go | ||
chan_series.go | ||
gossiper.go | ||
gossiper_test.go | ||
log.go | ||
message_store.go | ||
message_store_test.go | ||
mock_test.go | ||
reliable_sender.go | ||
reliable_sender_test.go | ||
sync_manager.go | ||
sync_manager_test.go | ||
syncer.go | ||
syncer_test.go |