![]() |
Cluster of server nodes.
Definition at line 102 of file as_cluster.h.
#include "as_cluster.h"
Data Fields | |
as_cluster_event_callback | event_callback |
void * | event_callback_udata |
as_event_state * | event_state |
|
private |
Maximum async (non-pipeline) connections per node.
Definition at line 298 of file as_cluster.h.
|
private |
Minimum async connections per node.
Definition at line 292 of file as_cluster.h.
|
private |
Is authentication enabled
Definition at line 370 of file as_cluster.h.
|
private |
Authentication mode.
Definition at line 346 of file as_cluster.h.
|
private |
Expected cluster name for all nodes. May be null.
Definition at line 149 of file as_cluster.h.
|
private |
Command count. The value is cumulative and not reset per metrics interval.
Definition at line 450 of file as_cluster.h.
|
private |
Number of synchronous connection pools used for each node.
Definition at line 310 of file as_cluster.h.
|
private |
Initial connection timeout in milliseconds.
Definition at line 316 of file as_cluster.h.
|
private |
Delay queue timeout count. The value is cumulative and not reset per metrics interval.
Definition at line 456 of file as_cluster.h.
|
private |
Number of tend iterations defining window for max_error_rate.
Definition at line 262 of file as_cluster.h.
as_cluster_event_callback as_cluster::event_callback |
Cluster event function that will be called when nodes are added/removed from the cluster.
Definition at line 154 of file as_cluster.h.
void* as_cluster::event_callback_udata |
Cluster event user data that will be passed back to event_callback.
Definition at line 159 of file as_cluster.h.
as_event_state* as_cluster::event_state |
Cluster state for all event loops.
Definition at line 164 of file as_cluster.h.
|
private |
Fail on cluster init if seed node and all peers are not reachable.
Definition at line 382 of file as_cluster.h.
|
private |
Nodes to be garbage collected.
Definition at line 119 of file as_cluster.h.
|
private |
Does cluster support partition queries.
Definition at line 376 of file as_cluster.h.
|
private |
Count of add node failures in the most recent cluster tend iteration.
Definition at line 334 of file as_cluster.h.
|
private |
A IP translation table is used in cases where different clients use different server IP addresses. This may be necessary when using clients from both inside and outside a local area network. Default is no translation.
The key is the IP address returned from friend info requests to other servers. The value is the real IP address used to connect to the server.
Definition at line 181 of file as_cluster.h.
|
private |
Node login timeout in milliseconds.
Definition at line 322 of file as_cluster.h.
|
private |
Maximum sync connections per node.
Definition at line 286 of file as_cluster.h.
|
private |
Max errors per node per error_rate_window.
Definition at line 256 of file as_cluster.h.
|
private |
Maximum socket idle to validate connections in commands.
Definition at line 232 of file as_cluster.h.
|
private |
Maximum socket idle to trim peak connections to min connections.
Definition at line 238 of file as_cluster.h.
|
private |
Is metrics colleciton enabled.
Definition at line 394 of file as_cluster.h.
|
private |
Number of cluster tend iterations between metrics notification events. One tend iteration is defined as as_config.tender_interval (default 1 second) plus the time to tend all nodes. This is set using as_policy_metrics.
Definition at line 402 of file as_cluster.h.
|
private |
Number of elapsed time range buckets in latency histograms. This is set using as_policy_metrics.
Definition at line 408 of file as_cluster.h.
|
private |
Power of 2 multiple between each range bucket in latency histograms starting at column 3. The bucket units are in milliseconds. The first 2 buckets are "<=1ms" and ">1ms". Examples:
This is set using as_policy_metrics.
Definition at line 425 of file as_cluster.h.
|
private |
Listeners that handles metrics notification events. The default listener implementation writes the metrics snapshot to a file which will later be read and forwarded to OpenTelemetry by a separate offline application.
The listener could be overridden to send the metrics snapshot directly to OpenTelemetry.
This is set using as_policy_metrics.
Definition at line 437 of file as_cluster.h.
|
private |
Lock for metrics operations.
Definition at line 211 of file as_cluster.h.
|
private |
Minimum sync connections per node.
Definition at line 280 of file as_cluster.h.
|
private |
Total number of data partitions used by cluster.
Definition at line 352 of file as_cluster.h.
|
private |
Random node index.
Definition at line 328 of file as_cluster.h.
|
private |
Active nodes in cluster.
Definition at line 107 of file as_cluster.h.
|
private |
Hints for best node for a partition.
Definition at line 113 of file as_cluster.h.
|
private |
Password in clear text.
Definition at line 137 of file as_cluster.h.
|
private |
Password in hashed format.
Definition at line 143 of file as_cluster.h.
|
private |
Maximum pipeline connections per node.
Definition at line 304 of file as_cluster.h.
|
private |
Request server rack ids.
Definition at line 364 of file as_cluster.h.
|
private |
Rack ids
Definition at line 244 of file as_cluster.h.
|
private |
Rack ids size
Definition at line 250 of file as_cluster.h.
|
private |
Command retry count. There can be multiple retries for a single command. The value is cumulative and not reset per metrics interval.
Definition at line 444 of file as_cluster.h.
|
private |
Lock for adding/removing seeds.
Definition at line 205 of file as_cluster.h.
|
private |
Initial seed hosts specified by user.
Definition at line 170 of file as_cluster.h.
|
private |
Shared memory implementation of cluster.
Definition at line 125 of file as_cluster.h.
|
private |
Tend thread identifier to be used with tend_lock.
Definition at line 226 of file as_cluster.h.
|
private |
Cluster tend counter.
Definition at line 274 of file as_cluster.h.
|
private |
Milliseconds between cluster tends.
Definition at line 268 of file as_cluster.h.
|
private |
Lock for the tend thread to wait on with the tend interval as timeout. Normally locked, resulting in waiting a full interval between tend iterations. Upon cluster shutdown, unlocked by the main thread, allowing a fast termination of the tend thread.
Definition at line 220 of file as_cluster.h.
|
private |
Cluster tend thread.
Definition at line 199 of file as_cluster.h.
|
private |
Assign tend thread to this specific CPU ID.
Definition at line 340 of file as_cluster.h.
|
private |
Pool of threads used to query server nodes in parallel for batch, scan and query.
Definition at line 193 of file as_cluster.h.
|
private |
TLS parameters
Definition at line 187 of file as_cluster.h.
|
private |
If "services-alternate" should be used instead of "services"
Definition at line 358 of file as_cluster.h.
|
private |
User name in UTF-8 encoded bytes.
Definition at line 131 of file as_cluster.h.
|
private |
Should continue to tend cluster.
Definition at line 388 of file as_cluster.h.