We should remove CloudstackSnitch in the next major (1). It is already
deprecated.

I will try to test Azure tomorrow, don't have capacity / time to test
anything else for now but we will definitely make sure we test it all
before we release.

(1) https://lists.apache.org/thread/2zxvbjoynhvsr33cc9h9xv99sdvjldn8

On Thu, Dec 12, 2024 at 2:20 PM Sam Tunnicliffe <s...@beobal.com> wrote:

> This patch is probably now ready to merge, having been through several
> iterations of review and with green CI. Before that though, I just want to
> send one more reminder about it. We've endeavoured to preserve all existing
> behaviour and to keep configuration 100% backwards compatible. However,
> some areas have had minimal testing in real clusters, specifically the
> various cloud platform configurations:
>
> * Ec2Snitch/Ec2MultiRegionSnitch
> * AzureSnitch
> * AlibabaCloudSnitch
> * GoogleCloudSnitch
> * CloudstackSnitch
>
> Any help in validating these in their native environments would be welcome.
>
> The other consideration is toward custom snitch implementations. The
> intention is that these should continue to work without interruption or
> intervention, unless they're leaning heavily on C* internals in which case
> any changes required ought to be minimal. So it would be great if anyone
> using a custom snitch implementation is able to check it out and help
> verify that.
>
>
> > On 31 Oct 2024, at 16:53, Sam Tunnicliffe <s...@beobal.com> wrote:
> >
> > Since CEP-21, the source of truth for topology info (a node's datacenter
> & rack) is ClusterMetadata. Each node provides its dc/rack when it
> registers itself with the cluster prior to joining and this information is
> effectively immutable (for now). This significantly reduces the scope of
> IEndpointSnitch's responsibilities and CASSANDRA-19488 proposes a
> refactoring which breaks out the remaining functionality into a handful of
> new providers (full details can be found in the JIRA).
> >
> > This is one of the more widely used extension points in Cassandra, so we
> wanted to bring it to the mailing list in addition to discussing on JIRA.
> >
> > To be clear, no operator intervention should be necessary when
> upgrading. To ease migration onto the new config and to allow us to
> deprecate snitches in a controlled way, it will remain fully supported to
> configure nodes using the endpoint_snitch setting in yaml. A SnitchAdapter
> acts as a facade in this case, presenting the new interfaces to calling
> code while delegating to the legacy snitch. Most of the in-tree snitches
> have been refactored to extract implementations of the new interfaces so
> that their functionality can be used via the new configuration.
> >
> > Some questions for the list:
> >
> > * We have added 2 new methods to IEndpointSnitch, which have essentially
> been pulled up from Ec2MultiRegionSnitch and GossipingPropertyFileSnitch to
> support ReconnectableSnitchHelper. Currently, these are added as default
> methods on the interface so that out-of-tree snitches remain binary
> compatible. However, it would be safer to break binary compatibility in
> this case to ensure that any custom snitches out in the wild must be
> updated and their behaviour is preserved. So the question is, would there
> be objections to extending the (now deprecated) IEndpointSnitch interface
> in this way?
> >
> > * Python dtests and config are currently unchanged (aside from some
> error message checks) so these are exercising the path whereby the clusters
> are configured with endpoint_snitch and make use of the compatibility
> adapter. In-jvm upgrade dtests switch from old to new style configuration
> on upgrade to 5.1 (though in truth, these don't exercise snitches much at
> all as a special dtest snitch is used throughout). cassandra-latest.yaml
> contains the new settings, while cassandra.yaml and the variations in
> test/conf retain the old style settings. How should we approach updating
> these configs so that we maintain a balance between test coverage,
> compatibility during upgrades and encouraging the use of new style config
> in fresh clusters?
> >
>
>

Reply via email to