[
https://issues.apache.org/jira/browse/CASSANDRA-6689?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13942480#comment-13942480
]
Pavel Yaskevich commented on CASSANDRA-6689:
--------------------------------------------
[~benedict] I looked at the
[#1|https://github.com/belliottsmith/cassandra/tree/iss-6689-1] and I have a
concern... Can you elaborate why did you introduce all these Impl static
classes? That looks especially "interesting" in context of Cell.Impl where e.g.
ExpiringCell.Impl extends Cell.Impl all of the methods of which are "static"
and then "overrides" Cell.Impl methods with it's own implementations, why can't
this be solved by making Cell and descendants abstract classes and overriding
required methods?
Another example I see is in DecoratedKey - only Impl method used outside is
Impl.compareTo(IPartitioner, ByteBuffer, RowPosition), which could be changed
(moved) to be a static method of RowPosition and would call
DecorateKey.compareTo(DecoratedKey) when needed, so there is no jump from
Impl.compareTo(IPartitioner, ByteBuffer, RowPosition) to
DecorateKey.compareTo(RowPosition) and back to Impl.compareTo(DecoratedKey,
RowPosition).
One more nit thing, in DecoratedKey.java there is no need to mark token() and
key() explicitly "abstract", also token() is already defined in RingPosition so
no need to declare it in DecoratedKey.
> Partially Off Heap Memtables
> ----------------------------
>
> Key: CASSANDRA-6689
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6689
> Project: Cassandra
> Issue Type: New Feature
> Components: Core
> Reporter: Benedict
> Assignee: Benedict
> Labels: performance
> Fix For: 2.1 beta2
>
> Attachments: CASSANDRA-6689-small-changes.patch
>
>
> Move the contents of ByteBuffers off-heap for records written to a memtable.
> (See comments for details)
--
This message was sent by Atlassian JIRA
(v6.2#6252)