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

Stefan Miklosovic edited comment on CASSANDRA-12937 at 4/15/24 12:06 PM:
-------------------------------------------------------------------------

{quote}It seems like if we actually want these to be cluster wide values and 
not configurable on a per-node basis the defaults themselves should be in 
TCM{quote}

Yes, I think this is the most ideal solution. If somebody wants to experiment 
with a new compressor and similar, there would need to be some knob to override 
it, like some JMX method or similar, and all risks attached to that (divergence 
of the configuration caused by operator's negligence) would be on him. 

However, who would be changing the defaults? What I mean by that is that if 
defaults are committed in TCM, then if we change our mind about the defaults, 
by what mean would we commit them into TCM again, now changed? 


was (Author: smiklosovic):
{quote}It seems like if we actually want these to be cluster wide values and 
not configurable on a per-node basis the defaults themselves should be in 
TCM{quote}

Yes, I think this is the most ideal solution. If somebody wants to experiment 
with a new compressor and similar, there would need to be some knob to override 
it, like some JMX method or similar, and all risks attached to that (divergence 
of the configuration caused by operator's negligence) would be on him. 

> 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: 8h
>  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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to