[ 
https://issues.apache.org/jira/browse/CASSANDRA-9738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14703452#comment-14703452
 ] 

Ariel Weisberg commented on CASSANDRA-9738:
-------------------------------------------

In OHCKeyCache when calculating the length of strings you are calculating the 
length using String.length() which returns a wrong answer if you encode using 
UTF-8. 

We went to some length to come up with an "optimal" no garbage string writing 
function for BufferedDataOutputStream (you can see it as a static method in 
UnbufferedDataOutputStream). It would be great if we could do the same thing 
here and not allocate byte arrays for the encoded names. Would it be crazy for 
it take a lambda that describes how to write the generated byte array to some 
output? Then we could use the same code everywhere. [~benedict] what do you 
think?

Since you are using a short length prefix what is your level of confidence it 
will always be enough? How does it fail if it isn't?

The 2i path testing is much appreciated. The utests didn't seem to make it in 
cassci.

> 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)

Reply via email to