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

Robert Stupp commented on CASSANDRA-12381:
------------------------------------------

Strictly, we have some misuses (assuming {{!hasArray()}} == direct buffer) for 
example in 
{{org.apache.cassandra.io.util.BufferedDataOutputStreamPlus#write(java.nio.ByteBuffer)}}.
 It is not an issue now (as it is exchangeable as of the current OpenJDK/Oracle 
implementation) - but should be fixe IMO. WDYT?

> Verify use of ByteBuffer.hasArray() in whole code base
> ------------------------------------------------------
>
>                 Key: CASSANDRA-12381
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12381
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Robert Stupp
>            Assignee: Robert Stupp
>            Priority: Minor
>             Fix For: 3.0.x
>
>
> As [noted 
> here|https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html#allocateDirect-int-],
>  a direct {{ByteBuffer}} can have a backing array.
> If a direct {{ByteBuffer}} has a backing array, we should not make any 
> assumption on how it is actually used.
> This ticket is about to check whether uses of {{ByteBuffer.hasArray()}} need 
> to be replaced with {{ByteBuffer.isDirect()}}.
> (With CASSANDRA-11870 however, there is no way that such a direct 
> {{ByteBuffer}} has a backing array.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to