[ https://issues.apache.org/jira/browse/CASSANDRA-8793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14347554#comment-14347554 ]
Ariel Weisberg commented on CASSANDRA-8793: ------------------------------------------- * SafeMemoryWriter.withByteOrder should be setByteOrder? I thought that "with" implied that the original instance isn't changed and you get a new version, but maybe I have the idiom wrong. * SafeMemoryWriter doesn't have a lot of @Override annotations. * Implementing DataOutput, but outputting little endian breaks the contract of the interface (or is it superclass) which is yikes. Guessing this isn't new to this change. * Memory.setShort invokes setBounds with the wrong second argument, it is checking for four bytes not two. Another argument for boring unit tests that check these boundary conditions. * withByte order was added even though it was already little endian or was the previous code emitting the wrong byte order? Does that imply a test should have caught it the change between versions of the code? * Comments are easy to follow now (or maybe I just know what they are saying already) * Bounds checking is done twice, once for ensure capacity, once for writing to the buffer. If you could consolidate those say by calling a subclass method on a failed bounds check that provides the policy then it would only have to emit instructions for the check once? > Avoid memory allocation when searching index summary > ---------------------------------------------------- > > Key: CASSANDRA-8793 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8793 > Project: Cassandra > Issue Type: Improvement > Components: Core > Reporter: Benedict > Assignee: Benedict > Priority: Minor > Fix For: 3.0 > > > Currently we build a byte[] for each comparison, when we could just fill the > details into a DirectByteBuffer -- This message was sent by Atlassian JIRA (v6.3.4#6332)