Expand description
This module holds entities that represent the cluster as a whole, nodes in the cluster (together with a pool of connections), the cluster’s state, and logic for ruling out specific nodes.
This includes:
- node’s representation (Node),
- metadata representation, fetching and management, including:
- topology metadata,
- schema metadata,
- ClusterState, which is a snapshot of the cluster’s state.
- ClusterState is replaced atomically upon a metadata refresh, preventing any issues arising from mutability, including races.
Modules§
- metadata
- This module holds entities that represent the cluster metadata, which includes:
Structs§
- Cluster
State - Node
- Node represents a cluster node along with its data and connections
Enums§
- Known
Node - Describes a database server known on
Sessionstartup. - Node
Addr - This enum is introduced to support address translation only upon opening a connection,
as well as to cope with a bug present in older Cassandra and Scylla releases.
The bug involves misconfiguration of rpc_address and/or broadcast_rpc_address
in system.local to 0.0.0.0. Mitigation involves replacing the faulty address
with connection’s address, but then that address must not be subject to
AddressTranslator, so we carry that information using this enum. Address translation is never performed onUntranslatablevariant.
Type Aliases§
- NodeRef
- A way that Nodes are often passed and accessed in the driver’s code.