FAQ - What is the
tend interval ?
Within the client policy for Aerospike Clients, there is a
tend interval configuration. What does this do?
Aerospike spreads the load across the cluster by using intelligent clients that direct transactions to the node holding the appropriate records. In addition to efficient and evenly balanced operation (assuming an evenly balanced workload from the application), this negates the need for a single ‘gatekeeper’ node meaning that cluster resilience is orders of magnitude greater than traditional cluster frameworks. Clients direct transactions based on a partition map held within each client object. The partition map holds locations for the master and one or many replica copies of the partitions which make up a namespace. As the partition to which a record is assigned is determinstic, when the location of the partition is known, the location of the record is also known.
The partition map is not pushed out from the cluster to the clients, it is pulled from each node by the client on a periodic basis. The client tends to the nodes in the cluster and the nodes report back which partitions they own. The time period between tending calls to each node is the
tendInterval and can be configured within the client policy.
As the client has a map of partitions by node, transactions can be sent directly to the node that holds the record meaning that there is no load balancing required. The load balancing is implicit and performed by the partition hashing algorithm at a cluster level. It then follows that if there is an imbalance of connections to any particular node in the cluster then there is a problem of sorts with that node or with the non uniformity of the application workload.
If there has been a change of partition ownership within the cluster, as soon as a new master is assigned, transactions will proceed correctly. There may be a gap of up to the configured
tendInterval before the client updates the partition map, during that period the transactions will be proxied to the new master and will complete successfully.
- If a node leaves the cluster unexpectedly there will be a period defined by (
quantum intervalbefore a new master takes ownership. With default values this would be 1800ms or 1.8s.
quantum intervalis the period of time the cluster allows before rebalancing after a node leaves unexpectedly to avoid multiple rebalances over a short space of time.
- If the node removal is expected the
quiesceinfo command should be used to minimise operational impact to clients and manage the removal gracefully.
- Most clients hold master partitions and N replica partitions in the partition map where N is replication factor. The C client only holds the master and first replica.
TEND INTERVAL CLIENT CONNECTION LOAD BALANCE