[
https://issues.apache.org/jira/browse/CASSANDRA-21637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dmitry Konstantinov updated CASSANDRA-21637:
--------------------------------------------
Description:
BtiTableReader.getExactPosition() opens a data-file reader to verify the
partition key when the trie payload is negative (means the partition small
enough to have no row index entry). It then closed that reader, and
AbstractSSTableIterator immediately reopened the same file at the same
position. So, we read the same chunk twice in such scenario as well as run LZ4
decompression and CRC32 check twice. We can re-use the reader to avoid it.
!image-2026-09-02-15-59-03-586.png|width=600!
was:
BtiTableReader.getExactPosition() opens a data-file reader to verify the
partition key when the trie payload is negative (mens the partition small
enough to have no row index entry). It then closed that reader, and
AbstractSSTableIterator immediately reopened the same file at the same
position. So, we read the same chunk twice in such scenario as well as run LZ4
decompression and CRC32 check twice. We can re-use the reader to avoid it.
!image-2026-09-02-15-59-03-586.png|width=600!
> Avoid double chunk read for BTI small partitions during a select query
> execution
> --------------------------------------------------------------------------------
>
> Key: CASSANDRA-21637
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21637
> Project: Apache Cassandra
> Issue Type: Improvement
> Components: Local/SSTable
> Reporter: Dmitry Konstantinov
> Assignee: Dmitry Konstantinov
> Priority: Normal
> Fix For: 6.0.x, 7.x
>
> Attachments: image-2026-09-02-15-59-03-586.png
>
>
> BtiTableReader.getExactPosition() opens a data-file reader to verify the
> partition key when the trie payload is negative (means the partition small
> enough to have no row index entry). It then closed that reader, and
> AbstractSSTableIterator immediately reopened the same file at the same
> position. So, we read the same chunk twice in such scenario as well as run
> LZ4 decompression and CRC32 check twice. We can re-use the reader to avoid it.
> !image-2026-09-02-15-59-03-586.png|width=600!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]