[
https://issues.apache.org/jira/browse/CASSANDRA-15393?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17175119#comment-17175119
]
Blake Eggleston commented on CASSANDRA-15393:
---------------------------------------------
bq. The split of ByteBuffer into a pair of accessor + container is error prone
- e.g. accidentally passing a byte[] with the ByteBufferAccessor or vice versa
leads to "interesting" results.
Could you elaborate on how this would happen [~snazy]? I've structured the
classes to avoid this problem specifically. The value accessor's type parameter
needs to be the same as the value's type, mixing them up should result in a
compile error. Is there somewhere this doesn't work as intended?
> 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]