[
https://issues.apache.org/jira/browse/CASSANDRA-15674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17069158#comment-17069158
]
David Capwell commented on CASSANDRA-15674:
-------------------------------------------
Prototyping and I see that the reason for the transaction is to swap
SSTableReaders into the view. Summary is a local disk thing but we store it
in-memory; the swap will replace in-memory with the new summary.
The issue remains that we mutate in-place so roll back doesn't happen.
> liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if
> IndexSummaryRedistribution gets interrupted
> -----------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-15674
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15674
> Project: Cassandra
> Issue Type: Bug
> Components: Local/Compaction, Observability/Metrics
> Reporter: David Capwell
> Assignee: David Capwell
> Priority: Normal
>
> IndexSummaryRedistribution is a compaction task and as such extends Holder
> and supports cancelation by throwing a CompactionInterruptedException. The
> issue is that IndexSummaryRedistribution tries to use transactions, but
> mutates the sstable in-place; transaction is unable to roll back.
> This would be fine (only updates summary) if it wasn’t for the fact the task
> attempts to also mutate the two metrics liveDiskSpaceUsed and
> totalDiskSpaceUsed, since these can’t be rolled back any cancelation could
> corrupt these metrics.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]