Fix [MQB]: mqbc::StorageMgr: Transition to available only when all primary active
Fixes two flaky integration tests in FSM mode:
-
In
test_basicoftest_restart.py, there was an issue where a replica could advertise availability before all primaries are active; then, a proxy could repoen queue and post message with no avail. The fix is to transition to available only when all primaries are active. -
In
test_kill_post_startoftest_strong_consistency.py, there was an issue where replicas are not issuing receipts to the primary after restart. This was because healing replicas in FSM mode were not buffering primary status advisories to process later, and thus not setting the correct primary in the FileStore. After I added the buffering logic, the tests pass.
@dorjesinpo Back to you