[ 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: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org