[
https://issues.apache.org/jira/browse/CASSANDRA-21358?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nitsan Wakart updated CASSANDRA-21358:
--------------------------------------
Component/s: Local/Compaction
> CursorBasedCompaction: Final index block width off by one byte in
> SSTableCursorWriter#appendBIGIndex()
> ------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-21358
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21358
> Project: Apache Cassandra
> Issue Type: Bug
> Components: Local/Compaction, Local/SSTable
> Reporter: Arjun Ashok
> Priority: Normal
>
> The cursor compaction path computes the width of the final index block as
> (partitionEnd - partitionStart - 1) - indexBlockStartOffset, which excludes
> the end-of-partition marker byte.
> The iterator path (BigFormatPartitionWriter#finish()) calls addIndexBlock()
> after writing the end marker, so its width includes that byte.
> The resulting Index.db entry has a width 1 byte smaller than the iterator
> produces. When seeking into a large partition near the end using the index,
> the reader's internal byte accounting is off by 1, causing misaligned reads.
> Affects any partition large enough to span multiple index blocks (default
> threshold: 64 KiB).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]