Details
-
Improvement
-
Status: Open
-
Low
-
Resolution: Unresolved
-
Normal
-
Description
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).
Attachments
Issue Links
- is blocked by
-
CASSANDRA-19592 Expand CREATE TABLE CQL on a coordinating node before submitting to CMS
- Resolved
-
CASSANDRA-19906 memtable configuration is order-dependent
- Resolved
- relates to
-
CASSANDRA-10995 Consider disabling sstable compression by default in 3.x
- Open
- links to