You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ariel Weisberg (Jira)" <ji...@apache.org> on 2025/04/04 19:22:00 UTC
[jira] [Updated] (CASSANDRA-20480) Avoid system keyspace truncation record access blocking on interval tree builds
[ https://issues.apache.org/jira/browse/CASSANDRA-20480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ariel Weisberg updated CASSANDRA-20480:
---------------------------------------
Fix Version/s: 5.1
Source Control Link: https://github.com/apache/cassandra/commit/7f1503d9c9b78512a34c38c0df98b4bd89538d09
Resolution: Fixed
Status: Resolved (was: Ready to Commit)
> Avoid system keyspace truncation record access blocking on interval tree builds
> -------------------------------------------------------------------------------
>
> Key: CASSANDRA-20480
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20480
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Local/Other
> Reporter: Matt Byrd
> Assignee: Matt Byrd
> Priority: Normal
> Fix For: 5.1
>
> Attachments: ci_summary.html
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> A call to SystemKeyspace::removeEndpoint may block for extended periods of time behind an interval tree build since it does a blocking flush, explained in a bit more detail here:
> https://issues.apache.org/jira/browse/CASSANDRA-19597
> This in turn takes the synchronized monitor lock on SystemKeyspace.class and blocks various other methods from executing, including in particular SystemKeyspace::getTruncationRecord, which is called on various hot paths to determine whether to drop/filter mutations, (Commitlog replay, Hints, Batchlog and also committing Paxos transactions)
> This can cause a continuous stream of timeouts while operations are on-going ( which are making calls to removeEndpoint).
> The vast majority of the time the truncation record would not have changed, since it's only updated when one truncates which is typically rare.
> If we factor out the synchronization of the truncation record to a monitor on a static field, we avoid this problem, whilst still preventing various concurrency problems when operating on the SystemKeyspace field truncationRecords.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org