-
Notifications
You must be signed in to change notification settings - Fork 141
Closed as duplicate of#1279
Labels
area/load-balancingarea/metadatacpp-rust-driver-p1Functionality required by cpp-rust-driverFunctionality required by cpp-rust-driver
Milestone
Description
Problem
When driver is given an ordered lists of initial contact points, control connection is attempted to be open to nodes in that order. If the cluster is operating normally, the first node always accepts the control connection and becomes burdened with it (in a way of having to send events when triggered and topology & schema metadata when queried) until either the connected driver disconnects or the node breaks down. This imbalance should be avoided.
Solution
cpp-driver by default enables random shuffling of the initial contact points list. This ensures proper load balancing over nodes wrt control connection. We should do the same, and, similarly to cpp-driver, expose a config option to disable this behaviour (mainly useful for deterministic testing).
Metadata
Metadata
Assignees
Labels
area/load-balancingarea/metadatacpp-rust-driver-p1Functionality required by cpp-rust-driverFunctionality required by cpp-rust-driver