Skip to content

Describe how load balancing differs from the legacy CPP Driver's #394

@wprzytula

Description

@wprzytula

Load balancing in CPP-RS Driver is implemented on top of Rust Driver's DefaultPolicy. This results in a few differences in behaviour that are worth mentions in cassandra.h and in the documentation.

Differences

  • There's no round-robin in DefaultPolicy - instead, replicas are randomly chosen.

    This is deliberate, as it prevents imbalance inherent to round-robin. If some node were down, then round-robin would make the next node in the ring/tablet list receive both its own load and all load of the down node. Random selection of replica from the set of alive replicas solves the imbalance issue.

    Symptoms:

    • cass_cluster_set_load_balance_round_robin does not set round-robin load balancing.
  • more difference TODO

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions