replication: fix bug with read-only replica as a bootstrap leader
When bootstrapping a new cluster, each replica from replicaset can be chosen as a leader, but if it is 'read-only', bootstrap will failed with an error. Fixed it by eliminating read-only replicas from voting by adding access rights information to IPROTO_REQUEST_VOTE reply. Closes #3257
Showing
- src/box/applier.cc 2 additions, 1 deletionsrc/box/applier.cc
- src/box/applier.h 2 additions, 0 deletionssrc/box/applier.h
- src/box/iproto.cc 6 additions, 3 deletionssrc/box/iproto.cc
- src/box/iproto_constants.c 1 addition, 1 deletionsrc/box/iproto_constants.c
- src/box/iproto_constants.h 1 addition, 0 deletionssrc/box/iproto_constants.h
- src/box/replication.cc 8 additions, 0 deletionssrc/box/replication.cc
- src/box/xrow.c 23 additions, 6 deletionssrc/box/xrow.c
- src/box/xrow.h 42 additions, 10 deletionssrc/box/xrow.h
- test/replication/replica_uuid_ro.lua 33 additions, 0 deletionstest/replication/replica_uuid_ro.lua
- test/replication/replica_uuid_ro1.lua 1 addition, 0 deletionstest/replication/replica_uuid_ro1.lua
- test/replication/replica_uuid_ro2.lua 1 addition, 0 deletionstest/replication/replica_uuid_ro2.lua
- test/replication/replicaset_ro_mostly.result 59 additions, 0 deletionstest/replication/replicaset_ro_mostly.result
- test/replication/replicaset_ro_mostly.test.lua 30 additions, 0 deletionstest/replication/replicaset_ro_mostly.test.lua
Loading
Please register or sign in to comment