[ 
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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to