On occasion, you may need to reduce your cluster's capacity:
The process to downsize your cluster within Xpand is a simple:
Xpand recommends running this process while logged on to a node other than one you wish to drop.
Marking a node as softfailed directs the Xpand Rebalancer to move all data from the node(s) specified to others within the cluster. The Rebalancer proceeds in the background while the database continues to serve your ongoing production needs.
If necessary, determine the nodeid assigned to a given IP or hostname by running the following SQL select.
sql> SELECT * FROM system.nodeinfo ORDER BY nodeid;
To initiate a SOFTFAIL, using ALTER CLUSTER.
ALTER CLUSTER SOFTFAIL nodeid [, nodeid] ...
The SOFTFAIL operation will issue an error if there is not sufficient space to complete the softfail or if the softfail would leave the cluster unable to protect data should an additional node be lost.
To cancel a SOFTFAIL process before it completes, use the following syntax. Your system will be restored to its prior configuration.
ALTER CLUSTER UNSOFTFAIL nodeid [, nodeid] ...
Once marked as softfailed, the Rebalancer moves data from the softfailed node(s). The Rebalancer process runs in the background while foreground processing continues to serve your production workload.
To monitor the progress of the SOFTFAIL:
Verify that the node(s) you specified are indeed marked for removal.
sql> SELECT * FROM system.softfailed_nodes;
The system.softfailing_containers tables will show the list of containers that are slated to be moved as part of the SOFTFAIL operation. When this query returns 0 rows, the data migration is complete.
sql> SELECT * FROM system.softfailing_containers;
This query shows the list of softfailed node(s) that are ready for removal.
sql> SELECT * FROM system.softfailed_nodes WHERE nodeid NOT IN (SELECT DISTINCT nodeid FROM system.softfailing_containers);
Once the SOFTFAIL is complete for all nodes, the clustrix.log file will contain the following message:
softfailing nodes are ready to be removed: <list of node ids>
To remove the softfailed node(s) from the cluster, issue the following SQL command.
sql> ALTER CLUSTER REFORM;
There will be a brief interruption of service while the node(s) are removed.