cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-9738) Migrate key-cache to be fully off-heap
Date Mon, 31 Aug 2015 17:29:46 GMT


Ariel Weisberg commented on CASSANDRA-9738:

OK, looks like what I was thinking at a high level. Since it is in progress I won't go deeper
yet. I would include the index info offsets in the serialization and just populate them from
the start so random access is simple. It's not going to be a worse memory impact than the
existing Java object graph that has the array. Caching the last used IndexInfo is going to
force a little bit of promotion. Not sure how much.

It's not going to be easy, but if we can operate on the IndexInfo as a ByteBuffer we can avoid
deserializing them during the binary search. Getting ClusteringComparator and ClusteringPrefix
to that point does look hard. We measure as is and see if it's enough garbage and to matter.

Reference counting shouldn't be too bad. In all the cases I could find the index info is consumed
immediately and discarded or composed into an iterator implementing Closable. There is a bit
of rope to hang to hang ourselves with there for long lived iterators pinning stuff in the
cache. This is probably something we should test in OHC.

> Migrate key-cache to be fully off-heap
> --------------------------------------
>                 Key: CASSANDRA-9738
>                 URL:
>             Project: Cassandra
>          Issue Type: Sub-task
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>             Fix For: 3.0 beta 2
> 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

View raw message