[ 
https://issues.apache.org/jira/browse/CASSANDRA-17240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17624308#comment-17624308
 ] 

Branimir Lambov commented on CASSANDRA-17240:
---------------------------------------------

{quote}I strongly feel that we shouldn't depend on the config if we are adding 
a table param, the table param should be self contained similar to 
compression/compaction.
{quote}
The initial API proposal matches what you describe. There were valid objections 
against this very proposal during the CEP-19 discussion which were taken into 
account in CASSANDRA-17034. We want to be able to adjust configurations per 
node (for anything from gradual switching through fixing a broken node to 
setting memory allocation sizes), and we want per-node to always override the 
DDL setting. Keep in mind that this configuration is also expected to 
eventually subsume the legacy memtable settings (e.g. allocation type, size 
thresholds, forced flush frequency). Configuration complexity isn't something 
we want to ignore either — complex mechanisms of specifying what settings to 
override are not a good idea.

After the initial testing period I would expect a pair of configurations (e.g. 
{{trie}} and {{{}skiplist{}}}) to be supplied with the default YAML, which most 
users will simply reference, knowing that they are always present, and having 
the ability to modify them on problem nodes, should this need ever arise. DB 
infrastructure teams can set up additional configurations if they desire so; 
users cannot, and arguably should not, use anything that is not prescribed by 
them.
{quote}we could simplify by making it strongly typed
{quote}
I erred on the side of adhering to the existing configuration schemes (e.g. 
commitlog compression). There were also some practical issues with the 
unstructured option, such as reserved keywords and the YAML parser being unable 
to honour the value type of a nested map.

> CEP-19: Trie memtable implementation
> ------------------------------------
>
>                 Key: CASSANDRA-17240
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17240
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local/Memtable
>            Reporter: Branimir Lambov
>            Assignee: Branimir Lambov
>            Priority: Normal
>             Fix For: 4.2
>
>         Attachments: SkipListMemtable-OSS.png, TrieMemtable-OSS.png, 
> density_SG.html.gz, density_test_with_sharding.html.gz, latency-1_1-95.png, 
> latency-9_1-95.png, throughput_SG.png, throughput_apache.png
>
>          Time Spent: 13.5h
>  Remaining Estimate: 0h
>
> Trie-based memtable implementation as described in CEP-19, built on top of 
> CASSANDRA-17034 and CASSANDRA-6936.
> The implementation is available in this 
> [branch|https://github.com/blambov/cassandra/tree/CASSANDRA-17240].



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to