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

Jacek Lewandowski commented on CASSANDRA-18441:
-----------------------------------------------

TCM could share the identifiers of the sstable format that are available on the 
node classpath. By that, we could validate whether an update of the output 
format is valid or not for a table. 

Can we agree on hardcoding the name and numeric ID in the format itself? I like 
this idea, I implemented it in CASSANDRA-17056 in a bad way because I wanted 
everything to be configurable, and it turned out it was too much. My reasoning 
against the idea of fixed IDs was that if there are two external formats with 
the same ID, and the user is not the author of any of them, the user has no way 
to switch between one and the other. Though, it was probably too contrived.

Can we agree on the service loader being used to discover the supported formats 
or do we want them to be enumerated in the config? I'm slightly leaning toward 
the service loader approach, but not insisting on that.

For the selected format, even if we want that to be configured in table 
metadata, we still need some default configuration probably. I prefer the 
example from [Branimir 
Lambov|https://issues.apache.org/jira/secure/ViewProfile.jspa?name=blambov] 
with a small change suggested by [David 
Capwell|https://issues.apache.org/jira/secure/ViewProfile.jspa?name=dcapwell] - 
use the identifier rather than the full class name, assuming we already 
discovered all formats before. What is worrying me in the example provided by 
[David 
Capwell|https://issues.apache.org/jira/secure/ViewProfile.jspa?name=dcapwell] 
is that it seems to suggest that we can define multiple write formats, while we 
really don't want to do that.

 

> 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