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

Ekaterina Dimitrova commented on CASSANDRA-17431:
-------------------------------------------------

So the patch can be found 
[here|https://github.com/ekaterinadimitrova2/cassandra/pull/194], respective 
properties were added in the ccm dictionary  
[here|https://github.com/ekaterinadimitrova2/ccm/compare/master-master...ekaterinadimitrova2:17431-trunk]
 in order to satisfy the backward compatibility. 

I tried to split into different commits different changes and a few fixes I 
did, I had to revert one down the way, please, ignore it.

I left PR commits not squashed so that reviewers can check also individual 
commits, to be maybe easier and shorter. Let me know if you prefer everything 
squashed.
 * As I mentioned already, I didn't touch phi_convict_threshold and 
meltable_cleanup_threshold.
 * I pinged the author about _repair_request_timeout_in_ms,_ it seems that one 
is not needed so he will open a ticket to remove it actually.  __ 
 * While working on _block_for_peers_timeout_in_secs_ I realized I have a bug 
in MILLIS_CUSTOM_DURATION, -1 should mean null, not 0 which would change the 
meaning. This led me also to a few more checks to be added in the 
DatabaseDescriptor. While we don't advertise that negative numbers except -1 
can be used, we weren't really prohibiting it so I am throwing an exception now 
in the setter. Please check if you think this is valid way to handle this and I 
am not breaking anything. I added one more unit test to cover this special 
case. The idea for the null usage came from [~dcapwell], also one  test added 
in the YAMLConfigurationLoaderTest is his. 
 * I ended up not transferring block_for_peers_timeout_in_secs as I noticed 
that it can handle even negative numbers which are not rejecter internally by 
TimeUnit so I am hesitant to touch this advanced parameter. I will probably 
discuss it on the mailing list which I plan to hit after this patch to confirm 
with people all special cases we have to validate things before the release. 
 * While, currently it is not a problem with the current config, we shouldn't 
be assigning 0ms in case a property is null but keep it null. This led me to a 
change in the MILLIS_DOUBLE_DURATION in regards to the NaN handling for 
backward compatibility. While on that I removed the handling of 0 which was 
supposed to be accepted without unit too. I remember we were discussing that 0 
with a unit might be weird so I can return it back if we think it is better to 
be there. This led to broken Paxos tests where 0 without a unit was used. I 
fixed those to have a unit but if we prefer really the old way, I will revert 
the change.
 * I am not 100% sure whether there might be some issue with the new Converter 
NEGATIVE_SECONDS_DURATION for validation_preview_purge_head_start_in_sec. I 
didn't break any tests but that is not a guarantee as we know... Any 
check/advice/suggestion/confirmation will be highly appreciated.
 *  native_transport_receive_queue_capacity_in_bytes - as I left a comment also 
in the code (in order not to forget to mention it during review :) ), this one 
is not guarded and mentioned whether it can be negative, etc anywhere. I 
definitely have to confirm it with the author/community before doing anything. 

 
[Here|https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/1487/workflows/ae03b64c-1300-4ed8-a324-4b1ccd176d47]
 is a preliminary J8 run, I will run also J11 when we are done with the review. 
I was running them down the road. So the only failures that are not already 
presented on trunk and which don't have tickets are the Paxos tests failures 
and the usage of 0 I mentioned. I pushed commit to fix them after the CI run.  

 

[~dcapwell], [~maedhroz] , I think this is ready for review and discussions 
around the corner cases, thank you! 

 

> Move the rest of the Config parameters to the new Config framework
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-17431
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17431
>             Project: Cassandra
>          Issue Type: Task
>          Components: Local/Config
>            Reporter: Ekaterina Dimitrova
>            Assignee: Ekaterina Dimitrova
>            Priority: Normal
>             Fix For: 4.x
>
>
> Migrate also all Config parameters that are in Config, but not presented in 
> cassandra.yaml to the new config framework. Not presented in the yaml as they 
> are considered advanced only for advanced users.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to