Skip to content

Fix[mqb]: Buffer and process advisories by Cluster - #1225

Merged
dorjesinpo merged 2 commits into
mainfrom
fix/buffered-advisories
Apr 6, 2026
Merged

Fix[mqb]: Buffer and process advisories by Cluster#1225
dorjesinpo merged 2 commits into
mainfrom
fix/buffered-advisories

Conversation

@dorjesinpo

@dorjesinpo dorjesinpo commented Mar 27, 2026

Copy link
Copy Markdown
Collaborator

Buffered advisories should have the same effect as a real ones. In particualr, should result in the same flow ending with calling observers and restoreStateCluster.

Suggesting making ClusterOrchestrator responsible for buffering (better thread safety) and processing upon signal from PFSM.

In PFSM/mqbc::StorageManager there is some code executed when both the state is HEALED and primary status is ACTIVE. This status handling probably should be part of PFSM. At the moment, it is orthogonal.

The PR attempts to track two events: ACTIVE status and HEALED state. When both are true, we execute an idempotent code. When ACTIVE status is before HEALED state, either ClusterOrchestrator buffers the advisory or PFSM updates the status and executes idempotent code later, when arriving to HEALED state.

@dorjesinpo
dorjesinpo requested a review from a team as a code owner March 27, 2026 16:15
@dorjesinpo dorjesinpo added the bug Something isn't working label Mar 27, 2026
@dorjesinpo dorjesinpo changed the title Buffer and process advisories by Cluster Fix[mqb]: Buffer and process advisories by Cluster Mar 27, 2026
@kaikulimu
kaikulimu self-requested a review March 30, 2026 20:22
Comment thread src/groups/mqb/mqbi/mqbi_cluster.h Outdated
Comment thread src/groups/mqb/mqbs/mqbs_filestore.cpp Outdated
Comment thread src/groups/mqb/mqbs/mqbs_filestore.cpp
Signed-off-by: dorjesinpo <129227380+dorjesinpo@users.noreply.github.com>
Signed-off-by: dorjesinpo <129227380+dorjesinpo@users.noreply.github.com>
@dorjesinpo
dorjesinpo force-pushed the fix/buffered-advisories branch from 5f0e063 to fb0492f Compare April 2, 2026 20:22
@dorjesinpo dorjesinpo assigned kaikulimu and unassigned dorjesinpo Apr 2, 2026
@dorjesinpo
dorjesinpo merged commit 32f32f3 into main Apr 6, 2026
45 of 49 checks passed
@dorjesinpo
dorjesinpo deleted the fix/buffered-advisories branch April 6, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants