[
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: [email protected]
For additional commands, e-mail: [email protected]