scylladb / scylladb/cpp-rs-driver

LBP: cpp-driver uses first contact point's DC as local DC by default

Open
#204 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

P3
Dominant language
C++
Stars
26
Forks
19
Avg merge
1d 21h
Merged PRs (30d)
7

Description

Here is a part of the documentation from cpp-driver (cass_cluster_set_load_balance_dc_aware function):

 * Configures the cluster to use DC-aware load balancing.
 * For each query, all live nodes in a primary 'local' DC are tried first,
 * followed by any node from other DCs.
 *
 * <b>Note:</b> This is the default, and does not need to be called unless
 * switching an existing from another policy or changing settings.
 * Without further configuration, a default local_dc is chosen from the
 * first connected contact point, and no remote hosts are considered in
 * query plans. If relying on this mechanism, be sure to use only contact
 * points from the local DC.

We should discuss it here, whether we want to mimic such behaviour in cpp-rust-driver.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the cpp-driver documentation for cass_cluster_set_load_balance_dc_aware and inspect the corresponding load-balancing implementation or API entry point in cpp-rs-driver. Compare how the first connected contact point determines local DC and decide whether this behavior should be matched; document the decision and its expected query-plan behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, rust
Domain
databases
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.