[
https://issues.apache.org/jira/browse/CASSANDRA-15393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17176410#comment-17176410
]
Caleb Rackliffe commented on CASSANDRA-15393:
---------------------------------------------
bq. I disagree with the idea that we should delay improving compaction
allocations because we could implement a better solution at some point in the
future.
Agreed. The 4.0.x line is going to be around for a while, so I lean toward
trying to make the best of the tools at our disposal in Java 8. I think we'd
have to make the argument that we'd be doing real damage to the codebase by
continuing.
bq. I don't personally think there is an issue with being able to invoke in a
contrived example where we deliberately elide the type information, but we
should be sure the code doesn't do that today.
Agreed. This seems like something we should be able to catch in review pretty
easily, although perhaps in the past we've not always been very strict about
making sure we either eliminate compiler warnings or clearly document why we
can't.
bq. The most complex parts are probably the collection serializers and other
places where we're now having to do offset bookkeeping.
I know I'm going to be spending more time on both of these things in my second
pass at review (there are already enough failing tests and other things that
need cleanup first), and we almost certainly don't have sufficient test
coverage, but serializers and offset manipulation logic aren't _that_ tricky?
bq. It might have been less of an issue, if the whole code base would have
proper unit testing for all production code paths with all potential inputs or
even fuzzy testing, but that's unfortunately not the case.
We do have the entire CASSANDRA-15536 epic (including fuzz testing w/ Harry) in
progress, which will subject anything we do here to quite a bit of additional
scrutiny, even after we get the testing within this issue itself to the bar.
> 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]