-
Notifications
You must be signed in to change notification settings - Fork 142
Closed
Labels
area/load-balancingarea/statement-executioncpp-rust-driver-p1Functionality required by cpp-rust-driverFunctionality required by cpp-rust-driver
Milestone
Description
Motivation
cpp-driver provides an option to explicitly set a node to be coordinator for a specific request. It argues for that option this way:
In general, this should not be used, but it can be useful in the following situations:
- To query node-local tables such as system and virtual tables.
- To apply a sequence of schema changes where it makes sense for all the changes to be applied on a single node.
Solution
Let's expose a setter for explicit coordinator - consider identifying by address or host_id.
If an explicit coordinator is set for a statement, then:
- load balancing policy shall be ignored,
- speculative execution shall be disabled,
- retries shall be only performed on the same node (consider if
RetryNextNodedecisions should be then changed intoRetrySameNodeor intoDontRetry).
Metadata
Metadata
Assignees
Labels
area/load-balancingarea/statement-executioncpp-rust-driver-p1Functionality required by cpp-rust-driverFunctionality required by cpp-rust-driver