In CASSANDRA-17166 I am adding a test that detects breaking changes; this is 
not compile time, rather test case time…

We sadly don’t document when a config is free to remove, we should do that to 
enhance our warnings to users as well as make clear when free to remove; we 
spoke about this in 4.0 timeline that your deprecate in X.0.0 and remove in 
(X+1).0.0, we should document this in code for each config

Sent from my iPhone

> On Feb 12, 2022, at 10:54 AM, Dinesh Joshi <djo...@apache.org> wrote:
> 
> +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 <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>
>>> Date: Saturday, 12 February 2022 at 00:09
>>> To: dev@cassandra.apache.org <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> 
>>> 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> 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> 
>>> 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> 
>>> 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 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. Thanks for the feedback. Cheers!
>>> 
>>>  
>>> 
> 

Reply via email to