box: fix an assertion failure in box.ctl.promote()
box.ctl.promote() used to assume that the last synchronous entry is already written to WAL by the time it's called. This is not the case when promote is executed on the limbo owner. The last synchronous entry might still be en route to WAL. In order to fix the issue, wait until all the limbo entries are written to disk via wal_sync(). After this happens, it's safe to proceed to gathering quorum in promote. Closes #6032
Showing
- src/box/box.cc 27 additions, 6 deletionssrc/box/box.cc
- test/replication/gh-6032-promote-wal-write.result 69 additions, 0 deletionstest/replication/gh-6032-promote-wal-write.result
- test/replication/gh-6032-promote-wal-write.test.lua 28 additions, 0 deletionstest/replication/gh-6032-promote-wal-write.test.lua
- test/replication/suite.cfg 1 addition, 0 deletionstest/replication/suite.cfg
- test/replication/suite.ini 1 addition, 1 deletiontest/replication/suite.ini
Loading
Please register or sign in to comment