Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix[mqbs::FileStore]: Do not remove purge record even if app is deleted #425

Merged
merged 1 commit into from
Nov 6, 2024

Conversation

kaikulimu
Copy link
Collaborator

@kaikulimu kaikulimu commented Sep 27, 2024

We had a journal file inconsistency bug if a replica node contains a purge appId record preceding a removal record for that appId, and bounces before rollover. Primary, who rolled over fine, would write that purge record to the new file. Replica, who bounced, would not keep this record in memory during recovery, and thus would not write the record to the new file during rollover. This is because rollover logic decides the set of records to roll over based on the in-memory data structure d_records. This caused journal file inconsistency between primary and replica, where replica's file offset would be behind due to missing certain purge appId records.

The fix is to not skip purge record even if app is deleted, during recovery.

@kaikulimu kaikulimu requested a review from a team as a code owner September 27, 2024 20:35
@kaikulimu kaikulimu changed the title [Fix] mqbs::FileStore: Do not remove purge record even if app is deleted Fix[mqbs::FileStore]: Do not remove purge record even if app is deleted Nov 6, 2024
@kaikulimu kaikulimu merged commit 4577b69 into bloomberg:main Nov 6, 2024
25 checks passed
@kaikulimu kaikulimu deleted the keep-purge-record branch November 6, 2024 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants