[
https://issues.apache.org/jira/browse/CASSANDRA-10511?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14978827#comment-14978827
]
Ariel Weisberg commented on CASSANDRA-10511:
--------------------------------------------
I noticed that
[SSTableReader.load()|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java#L725]
can rebuild the index summary if it fails to load due to an exception. However
it doesn't reconstruct the ibuilder and dbuilder which may be partially
populated with readable boundaries from the fail index summary load. Kind of
looks like a bug.
Fix for this looks straightforward. Extract the readable boundaries from the
ifile and dfile segments and provide them to the SegmentedFile.Builders that
are being used to downsample the summary. Working on a test now.
> Index summary downsampling prevents mmap access of large files after restart
> ----------------------------------------------------------------------------
>
> Key: CASSANDRA-10511
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10511
> Project: Cassandra
> Issue Type: Bug
> Reporter: Benedict
> Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> {{SSTableReader.cloneWithNewSummarySampleLevel}} constructs a
> {{SegmentedFile.Builder}} but never populates it with any boundaries. For
> files larger than 2Gb, this will result in their being accessed via buffered
> io after a restart.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)