Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
Operability
-
Challenging
-
Description
Today, the sidecar’s CassandraAdapter/CqlSessionProvider uses a load balancing policy that only allows connections to a single instance configured for one of the managed instances of Cassandra. However, this is both unnecessary and potentially harmful, as requests to that instance’s hostname will fail to retrieve information like keyspace/cluster metadata when that instance is unavailable, and will not receive any updates to metadata either, which can cause stale metadata to be used.
Instead, the CqlSessionProvider should take a list of contact points and use them to connect to the whole cluster (or a subset of nodes) without the single-instance load balancing policy. Where it is necessary to query an individual instance (system tables, attempts to check the health of a particular instance) we can, instead, use the driver’s ability to direct queries to a specific host on a per-statement basis.
Attachments
Issue Links
- links to