Skip to content

Fixes 251228#266

Merged
belliottsmith merged 1 commit intoapache:trunkfrom
belliottsmith:fixes-251228
Apr 13, 2026
Merged

Fixes 251228#266
belliottsmith merged 1 commit intoapache:trunkfrom
belliottsmith:fixes-251228

Conversation

@belliottsmith
Copy link
Copy Markdown
Contributor

InMemoryRangeIndex: Cassandra's secondary range index integration appears to be faulty in some way, producing sync points that have missing dependencies. Introduce a burn-test integrated in-memory implementation we can be more efficiently confident in.
Also:
- SemiSyncValue
- Simulate CFR loading/listening
- KeyDeps.forEach
- Timestamp.tryParse
Fix:
- Minor burn test edge case when cancelling bootstrap and resuming
- NotifyWaitingOn stillExecutes->stillWaitsOn
- Privileged fast path commit failure should not send stable message
- DefaultLocalListeners iterators do not handle multiple waiters on the same transaction correctly
Improve:
- Don't compute Deps for SyncPoint Accept or Recover phase
- Catchup should report bounds to progress log


public abstract class IdEntry extends TxnId
{
static final int SAVE_SATUS_SHIFT = Status.Durability.ENCODING_BITS;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: "satus"

@Override
IdEntry copy()
{
accord.impl.cfr.IdSingleEntry copy = new accord.impl.cfr.IdSingleEntry(this, range);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: do not need to fully qualify here

{
if (!force
&& updated.saveStatus() == prev.saveStatus()
&& (updated.saveStatus().known.executeAt().isDecided() && !prev.saveStatus().known.executeAt().isDecided())
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how can isDecided be different if save statuses are identity-equal?

@belliottsmith belliottsmith force-pushed the fixes-251228 branch 2 times, most recently from 3e2fbe3 to 12efa00 Compare February 26, 2026 12:07
Also Fix:
 - DefaultLocalListeners iterators do not handle multiple waiters on the same transaction correctly
 - Minor burn test edge case when cancelling bootstrap and resuming
 - NotifyWaitingOn stillExecutes->stillWaitsOn
 - Privileged fast path commit failure should not send stable message
 - Erroneously populating executeAt with txnId in CommandSummaries for Accepted commands
Also Improve:
 - Improve Catchup logging
 - KeyDeps.forEach
 - Timestamp.tryParse
 - Simulate CFR loading/listening

patch by Benedict; reviewed by Alex Petrov for CASSANDRA-21306
@belliottsmith belliottsmith merged commit 8229cbf into apache:trunk Apr 13, 2026
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