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

Maxwell Guo commented on CASSANDRA-18534:
-----------------------------------------


{code:java}
row_index_granularity
bloom_filter_fp_chance
crc_check_chance
min/max_index_interval
{code}


[~blambov] hi I‘m almost done, and a new question occurs, as we know the upper 
described properties can also be setted or modified through ddl like "create 
table xxx  with bloom_filter_fp_chance = 0.1 " or "alter table with 
bloom_filter_fp_chance = 0.8" if we make these sstable propertied setted or 
moidied in a new way like you have said , 

{code:java}
CREATE TABLE ... WITH sstable_format = { "type" : "bti-fast", 
"bloom_filter_fp_chance": 0.001}; // set bf chance explicitly
CREATE TABLE ... WITH sstable_format = "bti-fast";// set bf and other 
properties implicitly.
{code}
This may change the way how user use it. How to deal with this situation? Shall 
we start a discussion on the mailing list?
In my mind , I would like to keep both of them to the next big version like 6.0 
, if these properties are setted through ddl cql , and appear only in one 
place, then it will take effect,if none properties is setted , the default yaml 
configuration can be used.
But if a cql like this occurs :

{code:java}
create table tb (pk text primary key, id int) with bloom_filter_fp_chance = 0.1 
and sstable_format = { "type" : "bti-fast", "bloom_filter_fp_chance": 0.001}; 
{code}
I think an exception should be throw. wdyt ?





> Make sstable format configurable per table
> ------------------------------------------
>
>                 Key: CASSANDRA-18534
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18534
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Cluster/Schema, Local/SSTable
>            Reporter: Branimir Lambov
>            Assignee: Maxwell Guo
>            Priority: Normal
>             Fix For: 5.x
>
>
> Some SSTable format settings need to be configurable per table for better 
> efficiency. This includes:
>  - {{row_index_granularity}}
>  - {{bloom_filter_fp_chance}}
>  - {{crc_check_chance}}
>  - {{min/max_index_interval}}
> Some of these are currently configurable using direct properties of tables. 
> Having them as format properties makes better sense and should also support 
> specifying useable combinations of settings, e.g.
> {code:java}
> CREATE TABLE ... WITH sstable_format = "bti-fast";
> CREATE TABLE ... WITH sstable_format = "bti-small";
> {code}
> where {{bti-fast}} and {{bti-small}} can be defined in {{cassandra.yaml}} 
> e.g. as
> {code:java}
> sstable.format.options:
>   - bti-fast:
>       row_index_granularity: 1kiB
>       bloom_filter_fp_chance: 0.01
>   - bti-small:
>       row_index_granularity: 32kiB
>       bloom_filter_fp_chance: 0.1
> {code}



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