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

Stefan Miklosovic edited comment on CASSANDRA-20749 at 8/14/25 7:55 AM:
------------------------------------------------------------------------

Thanks for that, but while it fixes the existing test, it does not work in more 
general case:

You can indeed do this:
{code:java}
memtable.configurations: {\"skiplist\": {\"class_name\": \"SkipListMemtable\", 
...{code}
But this seems to be impossible:
{code:java}
memtable.configurations.skiplist: {\"class_name\": \"SkipListMemtable\", 
....{code}

I am not completely sure if this is fixable and this stuff is just acceptable 
but my gut feeling tells me that as we go into the future and more 
configurations will be (most probably) added, stuff like this will not be 
possible and then there will be issues created like "i can not override this 
setting by system / env properties, what do I do wrong?"


was (Author: smiklosovic):
Thanks for that, but while it fixes the existing test, it does not work in more 
general case:

You can indeed do this:
{code:java}
memtable.configurations", "{\"skiplist\": {\"class_name\": 
\"SkipListMemtable\", ...{code}
But this seems to be impossible:
{code:java}
memtable.configurations.skiplist: {\"class_name\": \"SkipListMemtable\", 
....{code}

I am not completely sure if this is fixable and this stuff is just acceptable 
but my gut feeling tells me that as we go into the future and more 
configurations will be (most probably) added, stuff like this will not be 
possible and then there will be issues created like "i can not override this 
setting by system / env properties, what do I do wrong?"

> Allow overriding arbitrary settings via environment variables
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-20749
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20749
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Local/Config
>            Reporter: Paulo Motta
>            Assignee: Paulo Motta
>            Priority: Normal
>             Fix For: 5.x
>
>          Time Spent: 4h
>  Remaining Estimate: 0h
>
> Allow arbitrary cassandra.yaml settings to be overriden via environment 
> variables. This allows performing runtime overrides to a cassandra node 
> configuration without updating cassandra.yaml, what can be useful to test 
> isolated changes or in docker environments where runtime environment 
> variables can be supplied via the {{--env}} flag.
> This should transparently override arbitrary configuration supported in 
> cassandra.yaml via environment variables loaded during startup matching the 
> format {{{}CASS_{CASSANDRA_YAML_CONFIG_NAME{}}}}. So for example, to override 
> the {{cassandra.yaml}} configuration cdc_enabled, this can be overriden via 
> the environment variable {{{}CASS_CDC_ENABLED{}}}, the cassandra.yaml setting 
> {{key_cache_save_period}} can be overriden via {{CASS_KEY_CACHE_SAVE_PERIOD}} 
> and so on. This should support both simple and complex properties.
> This is analogous to the functionality added by CASSANDRA-17166 to override 
> arbitrary configurations via system properties enabled by the flag 
> {{{}-Dcassandra.config.allow_system_properties{}}}.



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