replication: do not ignore replication_connect_quorum
On bootstrap and after initial configuration replication_connect_quorum was ignored. The instance tried to connect to every replica listed in replication parameter, and failed if it wasn't possible. The patch alters this behaviour. An instance still tries to connect to every node listed in box.cfg.replication, but does not raise an error if it was able to connect to at least replication_connect_quorum instances. Closes #3428 @TarantoolBot document Title: replication_connect_quorum is not ignored Now on replica set bootstrap and in case of replication reconfiguration (e.g. calling box.cfg{replication=...} for the second time) tarantool doesn't fail, if it couldn't connect to to every replica, but could connect to replication_connect_quorum replicas. If after replication_connect_timeout seconds the instance is not connected to at least replication_connect_quorum other instances, we throw an error.
Showing
- src/box/box.cc 24 additions, 11 deletionssrc/box/box.cc
- src/box/replication.cc 7 additions, 4 deletionssrc/box/replication.cc
- src/box/replication.h 4 additions, 3 deletionssrc/box/replication.h
- test/replication/quorum.result 49 additions, 0 deletionstest/replication/quorum.result
- test/replication/quorum.test.lua 20 additions, 0 deletionstest/replication/quorum.test.lua
- test/replication/replica_quorum.lua 24 additions, 0 deletionstest/replication/replica_quorum.lua
Loading
Please register or sign in to comment