[ https://issues.apache.org/jira/browse/CASSANDRA-17034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17436054#comment-17436054 ]
Branimir Lambov edited comment on CASSANDRA-17034 at 10/29/21, 4:17 PM: ------------------------------------------------------------------------ Patch uploaded here: [branch|https://github.com/blambov/cassandra/tree/CASSANDRA-17034] [pull request|https://github.com/apache/cassandra/pull/1295] For reviewers it will be better to look at the individual commits. The first one is sizeable but trivial, adding the flush reason to all places that request a flush. The second is the bulk of the work, which splits {{Memtable}} into an interface and hierarchy of classes that add pieces of memtable functionality, ending in {{SkipListMemtable}} which is the current implementation; flushing functionality is moved outside of {{ColumnFamilyStore}}, and new functionality to write temporary sstables for streaming from long-lived memtables is added. The rest of the commits add a mechanism for providing shard boundaries that split the owned space equally, and a basic common interface for reading memtables and sstables. Usages of the API, i.e. alternative memtable implementations, will be provided soon. was (Author: blambov): Patch uploaded here: [branch|https://github.com/blambov/cassandra/tree/CASSANDRA-17034] [pull request|https://github.com/apache/cassandra/pull/1295] For reviewers it will be better to look at the individual commits. The first one is sizeable but trivial, adding the flush reason to all places that request a flush. The second is the bulk of the work, which splits {{Memtable}} into an interface and hierarchy of classes that add pieces of memtable functionality, ending in {{SkipListMemtable}} which is the current implementation. The rest of the commits add a mechanism for providing shard boundaries that split the owned space equally, and a basic common interface for reading memtables and sstables. > CEP-11: Memtable API implementation > ----------------------------------- > > Key: CASSANDRA-17034 > URL: https://issues.apache.org/jira/browse/CASSANDRA-17034 > Project: Cassandra > Issue Type: Improvement > Components: Local/Memtable > Reporter: Branimir Lambov > Assignee: Branimir Lambov > Priority: Normal > Time Spent: 10m > Remaining Estimate: 0h > > Pluggable memtable API as described in > [CEP-11|https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-11%3A+Pluggable+memtable+implementations]. > > Initial version is already available in [this > branch|https://github.com/datastax/cassandra/tree/memtable-api], and needs to > be updated to the changes in trunk. Two additional features suggested by CEP > reviewers are also to be implemented: > * Sharding support: extending the memtable owner interface to supply > suitable shard boundaries that split the owned token space and are in > agreement with disk boundaries. > * Shared read API with sstables: defining a common interface for reading > partitions from memtables and sstables; this is to include filters to avoid > unnecessary copying. -- 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