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

Caleb Rackliffe commented on CASSANDRA-15393:
---------------------------------------------

Read through the last raft of commits, and things are looking pretty good. Some 
closing nits...

 - {{ByteArrayAccessor#toString(byte[], Charset)}} doesn't look like it needs 
to have {{CharacterCodingException}} in its {{throws}} clause, although if you 
want to keep it for uniformity with the interface, I suppose that's fine.
 - Many of the tests in {{ByteArrayUtilTest}} seem to fail because we removed 
{{ByteArrayUtil#ensureCapacity()}}, which produces a more detailed error 
message. Not sure if we want to keep that around or leave it out (performance?) 
and adjust the tests to expect the simpler error.
 - {{ValueAccessor#createArray()}} and {{compare()}} have a dangling JavaDoc 
{{@return}}.
 - {{ValueAccessor#write()}} typo: "...into the a ByteBuffer"
 - {{ValueAccessor#slice()}} typo: "...@prarm offset..."
 - {{ValueAccessor#compareByteArrayTo()}} and {{compareByteBufferTo()}} typo: 
"...\{@parame <V>}..."
- {{TupleType#split()}} still seems like it would be a pretty easy place to 
revert to {{ByteBuffer}} only to we don't have to worry about having introduced 
any offset-related bugs? (i.e. Literally its only usage is an overload that 
passes the {{ByteBufferAccessor}} singleton.)
- The declaration of {{Unfiltered.Kind}} doesn't need a semicolon following it.
- Might still be nice to make a note in the code around why {{Unfiltered}} has 
to extend {{Clusterable}} without a type bound.
- In {{ByteArrayUtil#writeWithShortLength()}}, in the {{assert}}, {{0 <= 
length}} is always true.
- Are the FIXMEs in {{DurationSerializer}} still live?

bq. I also didn't convert the randomized tests to QT.

That's fine w/ me. It's a pretty low-value conversion.

The above notwithstanding, +1 from me overall at this point, assuming clean 
test runs, etc.

> Add byte array backed cells
> ---------------------------
>
>                 Key: CASSANDRA-15393
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15393
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: Local/Compaction
>            Reporter: Blake Eggleston
>            Assignee: Blake Eggleston
>            Priority: Normal
>             Fix For: 4.0-beta
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> We currently materialize all values as on heap byte buffers. Byte buffers 
> have a fairly high overhead given how frequently they’re used, and on the 
> compaction and local read path we don’t do anything that needs them. Use of 
> byte buffer methods only happens on the coordinator. Using cells that are 
> backed by byte arrays instead in these situations reduces compaction and read 
> garbage up to 22% in many cases.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to