[
https://issues.apache.org/jira/browse/CASSANDRA-9738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14742095#comment-14742095
]
Robert Stupp commented on CASSANDRA-9738:
-----------------------------------------
Pushed another update with the following changes:
* Legacy IndexEntry objects / missing offsets: re-serializing seemed too
expensive to me but not having the offsets in key-cache is also bad. For 3.0+
IndexEntry structures, we have the offsets - so that's not a problem. For
legacy IndexEntry structures, it generates _all_ offsets. The change is that
the key-cache will include the calculated offsets even for legacy tables. This
eliminates the need to re-serialize the whole thing. (legacyIndexInfoSearch()
is gone.)
* Moved the offsets-"array" back to the end of serialized IndexEntry structure.
* Sizing the serialization buffers: Tried to find easily and cheaply accessibly
stats for partition size and (more important) serialized IndexEntry size for a
CF but didn't find anything. So I added a (poor man) stats to CFMetaData that
tracks the numbers to size the serialization buffers appropriately. These stats
are not persisted, just calculated during runtime - so it's not a "perfect"
thing. The problem with existing stats is that we know the mean partition size
but not the mean size of the ClusteringPrefixes which could be used to
initialize the poor-man stats during startup. (Note: current
TableMetrics.meanPartitionSize iterates over all sstables to retrieve the value)
> Migrate key-cache to be fully off-heap
> --------------------------------------
>
> Key: CASSANDRA-9738
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9738
> Project: Cassandra
> Issue Type: Sub-task
> Reporter: Robert Stupp
> Assignee: Robert Stupp
> Fix For: 3.0.0 rc1
>
>
> Key cache still uses a concurrent map on-heap. This could go to off-heap and
> feels doable now after CASSANDRA-8099.
> Evaluation should be done in advance based on a POC to prove that pure
> off-heap counter cache buys a performance and/or gc-pressure improvement.
> In theory, elimination of on-heap management of the map should buy us some
> benefit.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)