[
https://issues.apache.org/jira/browse/CASSANDRA-15674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17085667#comment-17085667
]
Marcus Eriksson commented on CASSANDRA-15674:
---------------------------------------------
The patch fixes the immediate bug, so +1, but we should really refactor how
index summary redistribution uses transactions as it is quite broken (not
really transactional at all), I'll create a new jira for that.
pushed a few updates
[here|https://github.com/krummas/cassandra/commits/david/15674] - this cleans
up the test a bit to avoid having to add the metric and the Listener interface
to IndexSummaryRedistribution
> 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
> Fix For: 4.0-alpha
>
>
> 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]