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

Caleb Rackliffe edited comment on CASSANDRA-18441 at 4/26/23 4:54 PM:
----------------------------------------------------------------------

bq. and wondering if we need to have "sstable" and "format" on separate levels?

My only motivations for that were keeping the hierarchy a.) similar to what 
we've done w/ the system property naming (i.e. 
{{cassandra.sstable.format.default}}) and b.) consistent w/ the big nesting 
overhaul proposal from CASSANDRA-17292.

bq. did you mean using just an untyped Map in the config so that whatever is 
under the certain format type options we just pass to that format constructor 
or just stick with some structure

Some structure is probably better. In any case, assuming we actually leave the 
version in, I'd be cool w/ something like...

{noformat}
sstable:
  format:
    default/primary/selected: big // don't care what it's named, as long as 
it's the same as the system property name
    options:
      big:
        version: nc
        read_opt1: value
        write_opt: value
      bti:
        version: da
        read_opt1: value
        write_opt1: value
{noformat}

CC [~dcapwell]


was (Author: maedhroz):
bq. and wondering if we need to have "sstable" and "format" on separate levels?

My only motivations for that were keeping the hierarchy a.) similar to what 
we've done w/ the system property naming (i.e. 
{{cassandra.sstable.format.default}}) and b.) consistent w/ the big nesting 
overhaul proposal from CASSANDRA-17292.

bq. did you mean using just an untyped Map in the config so that whatever is 
under the certain format type options we just pass to that format constructor 
or just stick with some structure

Some structure is probably better. In any case, assuming we actually leave the 
version in, I'd be cool w/ something like...

{noformat}
sstable:
  format:
    default/primary/selected: big // don't care what it's named, as long as 
it's the same as the system property name
  options:
    big:
      version: nc
      read_opt1: value
      write_opt: value
    bti:
      version: da
      read_opt1: value
      write_opt1: value
{noformat}

CC [~dcapwell]

> Improvements to SSTable format configuration
> --------------------------------------------
>
>                 Key: CASSANDRA-18441
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18441
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local/SSTable
>            Reporter: Branimir Lambov
>            Assignee: Jacek Lewandowski
>            Priority: Normal
>             Fix For: 5.x
>
>
> CEP-17 and CASSANDRA-17056 abstracted some interfaces for SSTable format 
> implementations and defined a method of plugging in specific configurations. 
> This method is brittle and asks users to specify format identifiers whose 
> configuration does not provide value but can be the source of conflicts and 
> problems. On the other hand it makes important choices non-obvious, as the 
> selection of format to write is given by the order of configured interfaces.
> An improved specification mechanism needs to be put in place before Cassandra 
> 5 is released.



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