replication: do not stop syncing if replicas are loading
If a replica disconnects while sync is in progress, box.cfg{} may stop syncing leaving the instance in 'orphan' mode. This will happen if not enough replicas are connected to form a quorum. This makes sense e.g. on network error, but not when a replica is loading, because in the latter case it should be up and running quite soon. Let's account replicas that disconnected because they haven't completed initial configuration yet and continue syncing if connected + loading > quorum. Closes #3422
Showing
- src/box/applier.cc 6 additions, 4 deletionssrc/box/applier.cc
- src/box/applier.h 1 addition, 0 deletionssrc/box/applier.h
- src/box/replication.cc 14 additions, 3 deletionssrc/box/replication.cc
- src/box/replication.h 5 additions, 0 deletionssrc/box/replication.h
- test/replication/rebootstrap.lua 26 additions, 0 deletionstest/replication/rebootstrap.lua
- test/replication/rebootstrap.result 45 additions, 0 deletionstest/replication/rebootstrap.result
- test/replication/rebootstrap.test.lua 21 additions, 0 deletionstest/replication/rebootstrap.test.lua
- test/replication/rebootstrap1.lua 1 addition, 0 deletionstest/replication/rebootstrap1.lua
- test/replication/rebootstrap2.lua 1 addition, 0 deletionstest/replication/rebootstrap2.lua
- test/replication/suite.cfg 1 addition, 0 deletionstest/replication/suite.cfg
Loading
Please register or sign in to comment