FAQ - What is the `tend interval`?

The Aerospike Knowledge Base has moved to https://support.aerospike.com. Content on https://discuss.aerospike.com is being migrated to either https://support.aerospike.com or https://docs.aerospike.com. Maintenance on articles stored in this repository ceased on December 31st 2022 and this article may be stale. If you have any questions, please do not hesitate to raise a case via https://support.aerospike.com.

FAQ - What is the tend interval ?

Detail

Within the client policy for Aerospike Clients, there is a tend interval configuration. What does this do?

Answer

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.

Notes

  • If a node leaves the cluster unexpectedly there will be a period mainly defined by (timeout x interval) to which a grace period called Quantum Interval is added before a new master takes ownership.
  • The Quantum Interval is 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 quiesce info 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.

Keywords

TEND INTERVAL CLIENT CONNECTION LOAD BALANCE

Timestamp

March 2020