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

Reply via email to