[ https://issues.apache.org/jira/browse/CASSANDRA-12937?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17709083#comment-17709083 ]
Stefan Miklosovic commented on CASSANDRA-12937: ----------------------------------------------- I did it here https://github.com/apache/cassandra/pull/2222/files The configuration is as simple as this: {code} sstable_compressor: class: "org.apache.cassandra.io.compress.LZ4Compressor" chunk_length_in_kb: "16" min_compress_ratio: "0" {code} Since sstable_compressor is a map, it may contain whatever parameters. The creation of compressor / validation is done upon node's startup. This solution is prepared for whatever compressor, whatever parameters and it accepts same parameters as specified in CQL so there nothing new to learn. > 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: Claude Warren > Priority: Low > Labels: AdventCalendar2021, lhf > Fix For: 5.x > > Time Spent: 10m > 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