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

Ekaterina Dimitrova edited comment on CASSANDRA-17379 at 2/16/22, 4:34 PM:
---------------------------------------------------------------------------

I agree with [~brandon.williams]  too but just want to mention that when I 
suggested that before I was told that this will mean we don't have full 
backward compatibility.

SnakeYAML is giving the chance to add more than once the same parameter without 
warning or anything. It just loads whatever value is set last. So currently we 
keep on doing it but people can start adding the new name with the old 
one(which is loaded by utilizing the backward compatibility). I personally 
dislike this but I was told this can be an issue for people and only to add 
warning. It seems like a tribal knowledge and it is risky IMHO.


was (Author: e.dimitrova):
I agree with [~brandon.williams]  too but just want to mention that when I 
suggested that before I was told that this will mean we don't have full 
backward compatibility.

SnakeYAML is giving the chance to add more than once the same parameter without 
warning or anything. It just loads whatever value is set last. So currently we 
keep on doing it but people can start adding the new one with the old one(which 
is loaded by utilizing the backward compatibility). I personally dislike this 
but I was told this can be an issue for people and only to add warning. It 
seems like a tribal knowledge and it is risky IMHO.

> Fail starting when the same parameter exists more than once with different 
> values in cassandra.yaml 
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-17379
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17379
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local/Config
>            Reporter: Ekaterina Dimitrova
>            Assignee: Marcus Eriksson
>            Priority: Low
>             Fix For: 4.x
>
>
> The way that SnakeYAML works, if someone has added the same parameter more 
> than once - the last occurrence will be the one that will take precedence. 
> Now after CASSANDRA-15234 we can even add the parameter with the old name and 
> with the new name and the occurrences will replace each other. Again, 
> whatever is last in cassandra.yaml will take precedence. Example:
> If you add the following in cassandra.yaml
> {code:java}
> hinted_handoff_enabled: true
> enabled_hinted_handolff: false
> {code}
> you will get loaded in Config - 
> {code:java}
> hinted_handoff_enabled: false{code}
>  //there is backward compatibility from the old name to load into the new one
> Currently Cassandra prints in the logs what config was loaded but it is good 
> also to detect the case mentioned and emit a warning for the user so they can 
> verify that the value they wanted was loaded in config.
> To do that you might want to look at the PropertiesChecker and the way we 
> emit other warnings in 
> [check()|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/config/YamlConfigurationLoader.java#L376]
>  in YamlConfigurationLoader. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to