+1 on introducing compile time checks to ensure backward compatibility.

Confusion due to usage of deprecated settings is understandable. However, 
settings marked deprecated should produce a warning in logs so that the 
operators become aware of their usage in the YAML and can migrate to the newer 
settings.

Also breakages do happen once in a while. As long as we fix them quickly and/or 
revert the code in the meanwhile it's fine.

> On Feb 12, 2022, at 3:56 AM, Ekaterina Dimitrova <e.dimitr...@gmail.com> 
> wrote:
> 
>  15234 was a discussion about changing names and making parameters work with 
> the old ones.  Still working parameters, backward compatibility and not 
> placeholders. 
> 
> Benedict, I can understand that when I said removal in this ticket you 
> thought I will deprecate in Config but unfortunately it is not what I meant. 
> I should have asked you also for review.  I take the responsibility of doing 
> a mistake here by removing in minor release thinking this is a bug that leads 
> to dangerous confusion you can still use them. Indeed CHANGES.txt entry was 
> created but not NEWS.txt and it requires a person to check which exact 
> parameters were removed to take an action. I pushed a patch already to fix 
> this. Docs are also on the way now when ADOC migration is over.
> 
> One of the yaml parameters was actually also already removed with the rewrite 
> of the messaging system in 4.0. I added back that one to Config too 
> yesterday, to be on the safe side.
> 
> “ I wonder if we should introduce a compile time check that validates config 
> compatibility with prior versions, to avoid this in future”
> 
> I think David is working on some tests to catch removed config in trunk, I 
> will follow up on Monday with him.
> 
> On Sat, 12 Feb 2022 at 5:49, bened...@apache.org <mailto:bened...@apache.org> 
> <bened...@apache.org <mailto:bened...@apache.org>> wrote:
> As discussed on 15234, there is never a rush to remove Config parameters, and 
> it should only be done when there’s some clear value. Since the overhead of 
> having an unused parameter is ~zero, in my opinion this occurs only when we 
> really need the operator to consider the semantic impact of its deprecation.
> 
>  
> 
> We should never break minor upgrades, but we shouldn’t break any upgrade 
> unnecessarily.
> 
>  
> 
> I wonder if we should introduce a compile time check that validates config 
> compatibility with prior versions, to avoid this in future.
> 
>  
> 
> From: Dinesh Joshi <djo...@apache.org <mailto:djo...@apache.org>>
> Date: Saturday, 12 February 2022 at 00:09
> To: dev@cassandra.apache.org <mailto:dev@cassandra.apache.org> 
> <dev@cassandra.apache.org <mailto:dev@cassandra.apache.org>>
> Subject: Re: [RELEASE] Apache Cassandra 4.0.2 released
> 
> We should also have deprecation guidance in Config.java. This will help when 
> anybody is making changes in the future.
> 
> 
> 
> 
> On Feb 11, 2022, at 3:07 PM, Ekaterina Dimitrova <e.dimitr...@gmail.com 
> <mailto:e.dimitr...@gmail.com>> wrote:
> 
>  
> 
> Note taken, I had to document only in 4.0.x that those are placeholder. I 
> just opened ticket to fix that - CASSANDRA-17377. I am going to submit a 
> patch soon
> 
>  
> 
> On Fri, 11 Feb 2022 at 17:44, Jeff Jirsa <jji...@gmail.com 
> <mailto:jji...@gmail.com>> wrote:
> 
> We don't HAVE TO remove the Config.java entry - we can mark it as deprecated 
> and ignored and remove it in a future version (and you could update 
> Config.java to log a message about having a deprecated config option). It's a 
> much better operator experience: log for a major version, then remove in the 
> next.
> 
>  
> 
> On Fri, Feb 11, 2022 at 2:41 PM Ekaterina Dimitrova <e.dimitr...@gmail.com 
> <mailto:e.dimitr...@gmail.com>> wrote:
> 
> This had to be removed in 4.0 but it wasn’t. The patch mentioned did it to 
> fix a bug that gives impression those work. Confirmed with Benedict on the 
> ticket.
> 
>  
> 
> I agree I absolutely had to document it better, a ticket for documentation 
> was opened but it slipped from my mind with this emergency release this week. 
> It is unfortunate it is still in our backlog after the ADOC migration.
> 
>  
> 
> Note taken. I truly apologize and I am going to prioritize CASSANDRA-17135. 
> Let me know if there is anything else I can/should do at this point. 
> 
>  
> 
> On Fri, 11 Feb 2022 at 17:26, Erick Ramirez <erick.rami...@datastax.com 
> <mailto:erick.rami...@datastax.com>> wrote:
> 
> (moved dev@ to BCC)
> 
>  
> 
> It looks like the otc_coalescing_strategy config key is no longer supported 
> in cassandra.yaml in 4.0.2, despite this not being mentioned anywhere in 
> CHANGES.txt or NEWS.txt.
> 
>  
> 
> James, you're right -- it was removed by CASSANDRA-17132 
> <https://issues.apache.org/jira/browse/CASSANDRA-17132> in 4.0.2 and 4.1.
> 
>  
> 
> I agree that the CHANGES.txt entry should be clearer and we'll improve it 
> plus add detailed info in NEWS.txt. I'll get this done soon in 
> CASSANDRA-17135 <https://issues.apache.org/jira/browse/CASSANDRA-17135>. 
> Thanks for the feedback. Cheers!
> 
>  
> 

Reply via email to