For the record, I mentioned
CASSANDRA-17571 and I think I am almost ready, testing and polishing
details at the moment, but I don’t want to rush the review. It won’t change
the yaml or any behavior, fixes a bug so we might commit it after 1st. Just
figured it is nice to update here after I mentioned it earlier in case of
any concerns.
Best regards,
Ekaterina

On Wed, 27 Apr 2022 at 14:33, Stefan Miklosovic <
stefan.mikloso...@instaclustr.com> wrote:

> I will revert it as I committed it, before the freeze.
>
> I have to admit these points you have are all valid, this seems to be
> harder than one might think. In this light, as it stands now, it is a
> pretty much half-cooked solution doing potentially more harm than
> good. The user had a request that "they just want to be comfy when
> replacing the node" based on rack / dc that node was in. Indeed, nice
> to have, but as it is not bullet-proof enough, well, let's get rid of
> it. I think security and robustness is more important than the user's
> experience in this.
>
> That ticket was implemented by Abi, our GSOC student, to just "get
> into it" and it seemed like an innocent low-hanger to deliver. Well,
> not so much.
>
> On Wed, 27 Apr 2022 at 20:22, bened...@apache.org <bened...@apache.org>
> wrote:
> >
> > > The same backward compatibility mechanism needed for system-provided
> UUIDs will work for user-provided UUIDs.
> >
> > By ignoring them, and assigning a different one? That seems confusing,
> and like the feature will in effect be short lived.
> >
> >
> >
> > It’s a very different problem to upgrade a set of IDs just once that we
> control unilaterally, and another to sensible handle some user input.
> >
> >
> >
> > I should also note that collision detection is harder than you think. It
> needs to be reliable which means we need to use distributed consensus to
> allocate these ids, it can’t just involve our usual “look in gossip”
> approach. So collision detection by itself is not a small thing to deliver
> in a few days IMO.
> >
> >
> >
> > From: Paulo Motta <pauloricard...@gmail.com>
> > Date: Wednesday, 27 April 2022 at 19:09
> > To: Cassandra DEV <dev@cassandra.apache.org>
> > Subject: Re: Code freeze starts 1st May. Anything to be addressed?
> >
> > > One reason might be compatibility – this may (I hope _will_) migrate
> to a simple integer of low cardinality in future, which would be a breaking
> change.
> >
> > I look forward to this change, but won't we need to implement some
> backward compatibility handling for legacy UUIDs anyway? The same backward
> compatibility mechanism needed for system-provided UUIDs will work for
> user-provided UUIDs.
> >
> > > This identifier will likely be used by Accord for correctness, too,
> and doing something wrong with it could have severe consequences, so at the
> very least it should be hard to access.
> >
> > The only potentially issue I see is a host_id collision, which is easily
> fixable by a simple collision check.
> >
> > > We could of course have two different host ids, one for the user to
> set to identify the host in some way for them, and another one for internal
> usage, but I’m not sure that’s a great idea.
> >
> > I don't think we need to keep the ability to set a host ID if we change
> the ID representation, since it will be incompatible with
> externally-provided UUIDs. We can just remove the feature and call it a day
> since the new system will warrant a major version update anyway.
> >
> > To be clear, I don't oppose reverting this if there are concerns about
> it.
> >
> >
> >
> > Em qua., 27 de abr. de 2022 às 14:51, bened...@apache.org <
> bened...@apache.org> escreveu:
> >
> > One reason might be compatibility – this may (I hope _will_) migrate to
> a simple integer of low cardinality in future, which would be a breaking
> change. This identifier will likely be used by Accord for correctness, too,
> and doing something wrong with it could have severe consequences, so at the
> very least it should be hard to access.
> >
> >
> >
> > We could of course have two different host ids, one for the user to set
> to identify the host in some way for them, and another one for internal
> usage, but I’m not sure that’s a great idea.
> >
> >
> >
> > From: Paulo Motta <pauloricard...@gmail.com>
> > Date: Wednesday, 27 April 2022 at 18:20
> > To: Cassandra DEV <dev@cassandra.apache.org>
> > Subject: Re: Code freeze starts 1st May. Anything to be addressed?
> >
> > Fully agree we should add a collision check but I don't understand why
> this optional feature is bad/dangerous after we add this ability? Can you
> provide an example of a potential issue?
> >
> > I don't expect this property to be used by most users, except power
> users which normally know what they're doing. We have tons of potentially
> dangerous knobs and I don't get why this particular one is any different.
> >
> >
> >
> > Em qua., 27 de abr. de 2022 às 14:05, Sam Tunnicliffe <s...@beobal.com>
> escreveu:
> >
> > CASSANDRA-14582 added support for users to supply an arbitrary value for
> HOST_ID when booting a new node. IMO it's a pretty bad and potentially
> dangerous idea for the unique identifier to be settable in this way. Hint
> delivery is already routed by host id and there have been several JIRAs
> which have called for more fundamental reworking of cluster metadata using
> permanent opaque identifiers rather than IPs to address members
> (CASSANDRA-11559, CASSANDRA-15823, etc). Using host id for anything like
> that in future would be made much more difficult with this capability.
> >
> >
> >
> > Aside from the longer term implications, it seems that the feature as
> currently implemented has some issues. There doesn't appear to be any
> validation that a supplied host id isn't already in use by a live node, so
> it's trivial to trigger a collision which can lead to divergent ring views
> between nodes and ultimately in data loss.
> >
> >
> >
> > Although this landed in trunk almost 11 months ago it hasn't been
> included in a release yet, so I propose we revert it before cutting 4.1
> (although, as the revert isn't a feature, I guess technically we could do
> that during the freeze). I'm not completely convinced about encoding
> metadata into host ids, but even if that is something we want to do, I
> don't think it's wise to completely remove control over the identifiers
> from Cassandra itself.
> >
> >
> >
> > Thanks,
> >
> > Sam
> >
> >
> >
> > On 25 Apr 2022, at 16:17, Ekaterina Dimitrova <e.dimitr...@gmail.com>
> wrote:
> >
> >
> >
> > Hi everyone,
> >
> >
> >
> > Kind reminder that 1st May is around the corner. What does this mean?
> Our code freeze starts on 1st May and my understanding is that only bug
> fixing can go into the 4.1 branch.
> >
> > If anyone has anything to raise, now is a good time. On my end I saw a
> few things for this week that we should probably put to completion:
> >
> > - CASSANDRA-17571 - I have to close this one, it is in progress; new
> types in Config is good to be in before the freeze I guess, even if It is
> not yaml change
> >
> > - CASSANDRA-17557 - we need to take care of the parameters so we don't
> have to deprecate and  support anything not actually needed; I think it is
> probably more or less done
> >
> > - CASSANDRA-17379 - adds a new flag around config; I think it is more or
> less done, depends on final CI and second reviewer maybe needed?
> >
> > - JMX intercept Cassandra exceptions, I think David mentioned a rebase
> was needed
> >
> > - CASSANDRA-17212 - The config property minimum_keyspace_rf and their
> nodetool getter and setter commands are new to 4.1. They are suitable to be
> ported to guardrails, and if we do this port in 4.1 we won't need to
> deprecate that property and nodetool commands in the next release, just one
> release after their introduction.
> >
> >
> >
> > I guess the failing tests we see could be fixed after the freeze but no
> API changes.
> >
> >
> >
> > Thanks everyone for all the hard work. Please don’t hesitate to raise
> the flag with questions, concerns or any help needed.
> >
> >
> >
> > Best regards,
> >
> > Ekaterina
> >
> >
>

Reply via email to