Skip to content

Enable enforcing coordinator for request #1031

Open
@wprzytula

Description

@wprzytula

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 RetryNextNode decisions should be then changed into RetrySameNode or into DontRetry).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions