[
https://issues.apache.org/jira/browse/CASSANDRA-17034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17490120#comment-17490120
]
Branimir Lambov commented on CASSANDRA-17034:
---------------------------------------------
The [CEP-19
discussion|https://lists.apache.org/thread/fdvf1wmxwnv5jod59jznbnql23nqosty]
raised some good points on the memtable configuration, paraphrased below:
- Per-node configuration: this is already supported in the form of memtable
"templates", which are specified in the yaml and can be referenced by the
schema.
- Priority of schema over yaml: it is a potential operational problem that the
schema can specify a configuration that is not controllable per node.
- Default templates: it may be a good idea to have multiple default templates
that can be overridden if necessary.
- Template fallback: with multiple templates, let the yaml have the option of
remapping one template to another.
I personally prefer to not complicate the solution too much, and am leaning
towards implementing the following:
- Renaming "memtable_template" to "memtable_configuration".
- A "default" configuration is always defined and is used if the schema does
not specify one.
- The default configuration can be overridden in the yaml.
- The yaml can specify any number of memtable configurations, and they can
inherit properties (e.g. {{{}extends: default, shards: 32{}}}).
- The table schema can only specify the memtable configuration to use and is
not allowed to modify its properties.
Let's continue the discussion here.
> 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.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]