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

When a partial update occurs, we sometimes end up thinking the second last excerpt is the last excerpt #1538

Closed
nicktindall opened this issue Feb 29, 2024 · 3 comments
Assignees

Comments

@nicktindall
Copy link
Contributor

We cache the position/sequence pair of the last excerpt in the queue in the store file header.

It is updated non-atomically with an append.

If the program suffers an abnormal termination it can leave the cached position/sequence pair inconsistent with the actual last excerpt in the queue.

When the pair is updated we merely increment the sequence and write the new position, so this inconsistency is persisted until the end of the roll cycle, and could cause off-by-one entries to be written to the index.

@nicktindall nicktindall self-assigned this Feb 29, 2024
nicktindall added a commit to OpenHFT/OpenHFT that referenced this issue Mar 5, 2024
nicktindall added a commit to OpenHFT/OpenHFT that referenced this issue Mar 6, 2024
nicktindall added a commit to OpenHFT/OpenHFT that referenced this issue Mar 6, 2024
@hft-team-city
Copy link
Collaborator

Released in Chronicle-Queue-5.23.50, BOM-2.23.215

@hft-team-city
Copy link
Collaborator

Released in Chronicle-Queue-5.24.34, BOM-2.24.109

@hft-team-city
Copy link
Collaborator

Released in Chronicle-Queue-5.25ea12, BOM-2.25ea32

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

No branches or pull requests

2 participants