[ 
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

Reply via email to