box: fix failing assertion in box_promote_qsync
Fixed a bug when the assertion in box_promote_qsync would fail. The assertion is that at the moment when box_promote_qsync is executed, no other promote is executed. It turned out that this assertion is basically incorrect. Now after this patch the newly elected leader is trying to repeat box_promote_qsync in box_raft_update_synchro_queue until it fails due to the fact that some other promotion is currently being executed. Closes #9263 NO_DOC=bugfix
Showing
- changelogs/unreleased/gh-9263-assertion-in-box-promote-qsync.md 8 additions, 0 deletions...logs/unreleased/gh-9263-assertion-in-box-promote-qsync.md
- src/box/box.cc 4 additions, 1 deletionsrc/box/box.cc
- src/box/errcode.h 1 addition, 0 deletionssrc/box/errcode.h
- src/box/raft.c 9 additions, 1 deletionsrc/box/raft.c
- test/box/error.result 1 addition, 0 deletionstest/box/error.result
- test/replication-luatest/gh_9263_assertion_in_box_promote_qsync_test.lua 151 additions, 0 deletions...n-luatest/gh_9263_assertion_in_box_promote_qsync_test.lua
Loading
Please register or sign in to comment