Aerospike cluster upgrade: pause or continue when a node fails to start
0 reputation · 02 Jun 2020, 12:46 UTC
0 reputation · 02 Jun 2020, 12:46 UTC
The official upgrade guide recommends a node‑by‑node replacement, but it does not specify an automated rollback if a node refuses to start after the new binaries are installed.
In practice, the cluster marks the failed node offline and continues to serve traffic from the remaining nodes, leaving the cluster in a mixed‑version state. This raises uncertainty about data replication integrity and whether the remaining nodes can safely handle the load without the upgraded node.
Administrators must manually downgrade the problematic node, tweak its asd.conf, and re‑join it, but the documentation offers no clear sequencing or safety guarantees.
Key unresolved questions include:
35275 reputation · 03 Jun 2020, 00:37 UTC
When a node refuses to start after a binary upgrade, the cluster does **not** automatically pause. It marks the node offline and continues to serve traffic from the remaining nodes. The safety of this continuation depends on two factors:
Pause only if:
Otherwise, you can keep the cluster running while you address the failed node.
Follow this minimal‑impact workflow. All commands are safe to run on an individual node; avoid stopping the entire cluster unless the replication factor is 1.
sudo systemctl stop aerospike
sudo apt-get install aerospike=previous_version # Debian/Ubuntu
# or
sudo yum install aerospike-previous_version.rpm # RHEL/CentOS
asd.conf if it was altered during the upgrade. Keep a backup of the pre‑upgrade file.
sudo cp /opt/aerospike/conf/backup/asd.conf.OLD /opt/aerospike/conf/asd.conf
asinfo -v config
sudo systemctl start aerospike
asinfo -v node-status
asinfo -v "rejoin=1"
asinfo -v replication-status
Protocol compatibility is the key. Aerospike’s protocol version is exposed via asinfo -v protocol-version. If the upgraded node reports a different value than the rest, clients may see aserr: protocol mismatch or lose features such as new commands. Until all nodes run the same binary, it is safest to keep the cluster on the older version or pause traffic that depends on the new features.
| Check | Command | Expected Result |
|---|---|---|
| Replication factor | asinfo -v replication-factor | >1 for safe continuity |
| Protocol version | asinfo -v protocol-version | Same across all nodes |
| Node health | asinfo -v node-status | Online |
| Cluster size | asinfo -v cluster-size | Equal to expected node count |
To give a definitive recommendation, I need to know the current replication factor for your namespaces and the protocol version of the failed node versus the healthy nodes. Once those are confirmed, I can advise whether to pause traffic or proceed.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.