On Mon, Apr 21, 2025 at 9:20 AM Josh McKenzie <jmcken...@apache.org> wrote:
> Honestly, excepting thrift support I can't remember something we removed > from the system in this way so a lot of this is perhaps premature process > optimization. > That is definitely fair, as long as we don't go deprecating things after a single major release I'm happy, and I agree with Benedict the ideal is "don't break users no matter how many major versions". Just doesn't seem consistent to me with how we approach e.g. management interfaces. I at least haven't experienced an upgrade yet where cassandra.yaml, jvm properties, and JMX don't all experience some breakage, and the Thrift-CQL migration is still infamous at Netflix for being one of the single most expensive migrations we have ever done - so maybe I'm just biased heh. > And I agree w/you here Benedict; given we can shim in translation from new > functionality to continue to support previous APIs (thinking JMX as an > example) there's really no hard requirement to deprecate or drop things > excepting the maintenance cost, developer availability, and complexity > burden of carrying some of these things forward. > > That said, I think Joey's framework makes intuitive sense so definitely > worth exploring here and having in the archive so if we face some > challenges in this department in the future we have some prior art and > thinking to start from. > Happy to keep it in our "back pocket", agree starting with simple is better. > > On Fri, Apr 18, 2025, at 4:17 PM, Benedict wrote: > > > I’d much rather we agree to try NOT to deprecate or break things full > stop. But once we decide there’s good reason to, I don’t think arbitrary > lifetimes for a feature are really all that helpful are they? > > Arbitrary lifetimes are quite the problem for users when they are short, I think it would hugely break trust if we just decided "well technically it's a major release so we removed this thing that we deprecated a year ago". I think we should be swift to deprecate (inform users we think something is bad), or demote something back to experimental, but very slow to remove. -Joey