[
https://issues.apache.org/jira/browse/CASSANDRA-9738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14700387#comment-14700387
]
Ariel Weisberg commented on CASSANDRA-9738:
-------------------------------------------
Good stuff. Coverage of the OHC key cache provider looks good.
* How are the 2i paths tested?
* The null case in makeVal isn't tested, maybe not that interesting
* SerializationHeader forKeyCache is racy and can result in an undersize array
clobbering a properly sized one. But... it doesn't retrieve the value it sets
so odds are eventually it will work out to be the longer one. It works it's
just intentionally racy.
* In CacheService does that comment about singleton weigher even make sense
anymore?
* NIODataInputStream has a derived class DataInputBuffer that exposes the
constructor you made public.
* The string encoding and decoding helpers you wrote seem like they should be
factored out somewhere else, maybe ByteBufferUtil? Also you don't specify a
string encoding and there may be some issues with serialized size of non-latin
characters lurking as well.
* An enhancement we can file for later is to replace those strings with vints
that reference a map of possible table names. For persistence definitely fully
qualify, but in memory we can store more entries that way.
> 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 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
(v6.3.4#6332)