[
https://issues.apache.org/jira/browse/CASSANDRA-9096?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeremiah Jordan updated CASSANDRA-9096:
---------------------------------------
Description:
Now that we have a few uses of compression/decompression on ByteBuffers it is
time to finalize the interface before it becomes set in stone with 2.2. The
current code has some shortcomings:
- The interface uses the buffers' positions and limits instead of accepting
offset and length as parameters. This necessitates that the buffers be
duplicated before they can be compressed for thread-safety, something that adds
burden to the caller, is prone to being forgotten, and we could generally do
without for performance.
- The direct/non-direct buffer support needs to be more clearly defined. The
current {{useDirectOutputByteBuffers}} is not named well.
- If we don't want to support non-direct buffers everywhere as a fallback, we
should clearly state the decision and rationale.
- How should {{WrappedByteBuffer}} treat direct/indirect buffers?
- More testing is necessary as e.g. errors in {{DeflateCompressor}} were only
caught in CASSANDRA-6809.
was:
Now that we have a few uses of compression/decompression on ByteBuffers it is
time to finalize the interface before it becomes set in stone with 3.0. The
current code has some shortcomings:
- The interface uses the buffers' positions and limits instead of accepting
offset and length as parameters. This necessitates that the buffers be
duplicated before they can be compressed for thread-safety, something that adds
burden to the caller, is prone to being forgotten, and we could generally do
without for performance.
- The direct/non-direct buffer support needs to be more clearly defined. The
current {{useDirectOutputByteBuffers}} is not named well.
- If we don't want to support non-direct buffers everywhere as a fallback, we
should clearly state the decision and rationale.
- How should {{WrappedByteBuffer}} treat direct/indirect buffers?
- More testing is necessary as e.g. errors in {{DeflateCompressor}} were only
caught in CASSANDRA-6809.
> Improve ByteBuffer compression interface
> ----------------------------------------
>
> Key: CASSANDRA-9096
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9096
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Branimir Lambov
> Assignee: Branimir Lambov
> Fix For: 2.2.0 rc1
>
>
> Now that we have a few uses of compression/decompression on ByteBuffers it is
> time to finalize the interface before it becomes set in stone with 2.2. The
> current code has some shortcomings:
> - The interface uses the buffers' positions and limits instead of accepting
> offset and length as parameters. This necessitates that the buffers be
> duplicated before they can be compressed for thread-safety, something that
> adds burden to the caller, is prone to being forgotten, and we could
> generally do without for performance.
> - The direct/non-direct buffer support needs to be more clearly defined. The
> current {{useDirectOutputByteBuffers}} is not named well.
> - If we don't want to support non-direct buffers everywhere as a fallback, we
> should clearly state the decision and rationale.
> - How should {{WrappedByteBuffer}} treat direct/indirect buffers?
> - More testing is necessary as e.g. errors in {{DeflateCompressor}} were only
> caught in CASSANDRA-6809.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)