[ 
https://issues.apache.org/jira/browse/CASSANDRA-21642?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stefan Miklosovic updated CASSANDRA-21642:
------------------------------------------
    Description: 
In CASSANDRA-15379 we have introduced {{flush_compression}} configuration 
parameter into cassandra.yaml by which an operator can say what compression 
should be used upon flushing.

While this is indeed a valuable contribution, currently it is not possible to 
say that a particular table can be flushed with its table compressor while all 
the rest of tables can be flushed with fast / none. In other words, the current 
solution is global, applied to all tables, we can not be granular.

The proposal is about the introduction of a CQL table parameter, 
{{flush_compression}} with values: auto, none, fast, table.

{{auto}} means that it will fallback to cassandra.yaml values. 

Example:

{code}
CREATE TABLE ks.tb WITH flush_compression = 'table' and compression = {'class': 
'ZstdCompressor' }
{code}

This means that table will be flushed with ZstdCompressor.

{code}
CREATE TABLE ks.tb WITH flush_compression = 'auto' and compression = {'class': 
'ZstdCompressor' }
{code}

This means that table will be flushed with whatever is in cassandra.yaml

{{auto}} is default hence copying the current behavior.

  was:
In CASSANDRA-15379 we have introduced {{flush_compression}} configuration 
parameter into cassandra.yaml by which an operator can say what compression 
should be used upon flushing.

While this is indeed a valuable contribution, currently it is not possible to 
say that a particular table can be flushed with its table compressor while all 
the rest of tables can be flushed with fast / none. In other words, the current 
solution is global, applied to all tables, we can not be granular.

The proposal is about the introduction of a CQL table parameter, 
{{flush_compression}} with values: auto, none, fast, table.

{{auto}} means that it will fallback to cassandra.yaml values. 

Example:

{code}
CREATE TABLE ks.tb WITH flush_compression = 'table' and compression = {'class': 
'ZstdCompressor' }
{code}

This means that table will be flushed with ZstdCompressor.

{code}
CREATE TABLE ks.tb WITH flush_compression = 'auto' and compression = {'class': 
'ZstdCompressor' }
{code}

This means that table will be flushed with whatever is in cassandra.yaml


> Consider the introduction of flush_compression CQL table parameter
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-21642
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21642
>             Project: Apache Cassandra
>          Issue Type: New Feature
>          Components: Feature/Compression
>            Reporter: Stefan Miklosovic
>            Assignee: Stefan Miklosovic
>            Priority: Normal
>
> In CASSANDRA-15379 we have introduced {{flush_compression}} configuration 
> parameter into cassandra.yaml by which an operator can say what compression 
> should be used upon flushing.
> While this is indeed a valuable contribution, currently it is not possible to 
> say that a particular table can be flushed with its table compressor while 
> all the rest of tables can be flushed with fast / none. In other words, the 
> current solution is global, applied to all tables, we can not be granular.
> The proposal is about the introduction of a CQL table parameter, 
> {{flush_compression}} with values: auto, none, fast, table.
> {{auto}} means that it will fallback to cassandra.yaml values. 
> Example:
> {code}
> CREATE TABLE ks.tb WITH flush_compression = 'table' and compression = 
> {'class': 'ZstdCompressor' }
> {code}
> This means that table will be flushed with ZstdCompressor.
> {code}
> CREATE TABLE ks.tb WITH flush_compression = 'auto' and compression = 
> {'class': 'ZstdCompressor' }
> {code}
> This means that table will be flushed with whatever is in cassandra.yaml
> {{auto}} is default hence copying the current behavior.



--
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