You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Blake Eggleston (Jira)" <ji...@apache.org> on 2019/11/05 00:35:00 UTC

[jira] [Commented] (CASSANDRA-15393) Add byte array backed cells

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

Blake Eggleston commented on CASSANDRA-15393:
---------------------------------------------

Here's a rough initial pass at converting cells from buffers to arrays: [https://github.com/bdeggleston/cassandra/tree/15387-arrays]

There are {{FIXME}}s everywhere and I still need to clean up some ideas that didn't pan out and take another look at cell cloning, but +902/-402 is smaller than I was expecting.

I've also started playing around with converting from buffer to a {{Value}} type that can be backed by ByteBuffer, byte[], or native memory. It's nicer to look at, but is also a much deeper rabbit hole. There is also code in a lot of places that relies on ByteBuffers having mutable position that would need to reworked and verified.

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