You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "David Capwell (Jira)" <ji...@apache.org> on 2020/03/28 01:11:00 UTC

[jira] [Commented] (CASSANDRA-15674) liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted

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