You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Andy Tolbert (Jira)" <ji...@apache.org> on 2025/02/11 19:39:00 UTC
[jira] [Updated] (CASSANDRA-20315) Update RepairTokenRangeSplitter to work with BTI-formatted SSTables
[ https://issues.apache.org/jira/browse/CASSANDRA-20315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Tolbert updated CASSANDRA-20315:
-------------------------------------
Resolution: Fixed
Status: Resolved (was: Triage Needed)
Merged into [CEP-37 branch|https://github.com/apache/cassandra/pull/3598].
> Update RepairTokenRangeSplitter to work with BTI-formatted SSTables
> -------------------------------------------------------------------
>
> Key: CASSANDRA-20315
> URL: https://issues.apache.org/jira/browse/CASSANDRA-20315
> Project: Apache Cassandra
> Issue Type: Improvement
> Reporter: Andy Tolbert
> Assignee: Andy Tolbert
> Priority: Normal
>
> While doing a review pass on the [CEP-37 PR|https://github.com/apache/cassandra/pull/3598] I realized that {{RepairTokenRangeSplitter}} could not possibly work with the new BTI sstable format introduced in 5.0 because it explicitly checks for {{BigTableReader}} implementations.
> I expect that the way it would behave would be to assume that all bytes in an SSTable covering a range include that range, instead of just the parts of the SSTable including the range. The splitter would still split ranges, but it would overestimate how much data is covered in a range.
> In addition, the way it calculates the amount of bytes a range covers in an SSTable is big-format specific. I noticed that a new utility method [SSTableReader.onDiskSizeForPartitionPositions|https://github.com/apache/cassandra/blob/511bd203144a71bf0a72876a393d186a9778407e/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java#L810] was added recently in [CASSANDRA-20092] that can effectively calculate this for us in an implementation-agnostic way. We should change the code to use this method, and also remove any changes we made in {{SSTableScanner}} and {{BigTableScanner}} for this.
--
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