Skip to content

Fixes for fully-expired SSTable index notification in compaction - #5027

Open
frankgh wants to merge 1 commit into
apache:trunkfrom
frankgh:CASSANDRA-21577
Open

Fixes for fully-expired SSTable index notification in compaction#5027
frankgh wants to merge 1 commit into
apache:trunkfrom
frankgh:CASSANDRA-21577

Conversation

@frankgh

@frankgh frankgh commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

The 2i notification path added to CompactionTask (CASSANDRA-20829) had three issues, all reachable on upgrade for existing clusters:

  • A read error or a throwing custom indexer aborted the whole compaction. Expired SSTables were never obsoleted and every retry hit the same failure.
  • The static row was never passed to removeRow, so static-column indexes missed expired-data notifications.
  • NoOpIndex, PaxosUncommittedIndex and RouteJournalIndex inherited the default (true) and did no useful work on this path, forcing needless full scans of expired SSTables on system.paxos / accord tables. Opt them out matching SAI/SASI.

patch by Francisco Guerrero; reviewed by TBD for CASSANDRA-21577

The 2i notification path added to CompactionTask (CASSANDRA-20829) had
three issues, all reachable on upgrade for existing clusters:

- A read error or a throwing custom indexer aborted the whole compaction.
  Expired SSTables were never obsoleted and every retry hit the same
  failure.

- The static row was never passed to removeRow, so static-column indexes
  missed expired-data notifications.

- NoOpIndex, PaxosUncommittedIndex and RouteJournalIndex inherited the
  default (true) and did no useful work on this path, forcing needless
  full scans of expired SSTables on system.paxos / accord tables. Opt
  them out matching SAI/SASI.

patch by Francisco Guerrero; reviewed by TBD for CASSANDRA-21577
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.

1 participant