[
https://issues.apache.org/jira/browse/CASSANDRA-12937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17747123#comment-17747123
]
Stefan Miklosovic commented on CASSANDRA-12937:
-----------------------------------------------
I think we need to park this ticket for a while and return to it after 5.0 is
out. There is clearly more work on this to be done.
I was thinking about how to make it more robust, all in my head yet, hard to
communicate, but we should spend little bit more time on this (how to exclude
system keyspaces and all the related code and logic around that).
Claude also came with an idea to make it able to specify compression _per
keyspace_ and that would shuffle quite a lot of stuff - configuration wise.
Also, if we say what should be the default compression ... why _just
compression?_ Why we could not support e.g. compaction as well? One might say
that he wants to compact all tables in this keyspace by
UnifiedCompactionStrategy and tables in another keyspace by TWCS, for example.
So we see that this might be done a little bit more robustly to not just wire
it for compression but to allow the code to be "plastic" enough to make a room
for similar improvements in the future.
> Default setting (yaml) for SSTable compression
> ----------------------------------------------
>
> Key: CASSANDRA-12937
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12937
> Project: Cassandra
> Issue Type: Improvement
> Components: Local/Config
> Reporter: Michael Semb Wever
> Assignee: Stefan Miklosovic
> Priority: Low
> Labels: AdventCalendar2021
> Fix For: 5.x
>
> Time Spent: 7h 20m
> Remaining Estimate: 0h
>
> In many situations the choice of compression for sstables is more relevant to
> the disks attached than to the schema and data.
> This issue is to add to cassandra.yaml a default value for sstable
> compression that new tables will inherit (instead of the defaults found in
> {{CompressionParams.DEFAULT}}.
> Examples where this can be relevant are filesystems that do on-the-fly
> compression (btrfs, zfs) or specific disk configurations or even specific C*
> versions (see CASSANDRA-10995 ).
> +Additional information for newcomers+
> Some new fields need to be added to {{cassandra.yaml}} to allow specifying
> the field required for defining the default compression parameters. In
> {{DatabaseDescriptor}} a new {{CompressionParams}} field should be added for
> the default compression. This field should be initialized in
> {{DatabaseDescriptor.applySimpleConfig()}}. At the different places where
> {{CompressionParams.DEFAULT}} was used the code should call
> {{DatabaseDescriptor#getDefaultCompressionParams}} that should return some
> copy of configured {{CompressionParams}}.
> Some unit test using {{OverrideConfigurationLoader}} should be used to test
> that the table schema use the new default when a new table is created (see
> CreateTest for some example).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]