Processes involved in temporarily disconnecting a node
Note Check the solidDB Release Notes for any limitations that are associated with using a grid in the current release.
The statement ALTER GRID .. SET NODE .. OFFLINE temporarily disconnects a node from a solidDB grid, see Disconnecting a node from the grid temporarily. In this case, partition copies are not removed.
When the ALTER GRID .. SET NODE .. OFFLINE statement is executed, the following steps are performed:
1 The grid leader changes the membership state of the node that is being disconnected to MEMBER_DISCONNECTING.
2 The grid leader stops replication from the grid node that is being disconnected.
3 The grid leader prepares the transaction, writes changes to the transaction log, and waits for acknowledgments that the transaction is prepared on other nodes (including the node that is being disconnected).
4 The node that is being disconnected stops replication from the leader. All other followers stop replication from the grid node that is being disconnected. All nodes prepare the transaction, write changes to the transaction log and send acknowledgment to the grid leader when the steps are complete.
5 When a majority of grid nodes have prepared the transaction, the grid leader commits the transaction, and writes the commit to the transaction log.
6 All grid nodes commit the transaction and the new grid node state becomes MEMBER_OFFLINE. The node that is being disconnected stops the replication from other nodes as part of the commit.
Note If the transaction execution fails, the transaction is rolled back and the membership state of the node reverts to MEMBER_ONLINE.
After the node is disconnected, the Grid Availability Manager (GAM) balances the workload of the grid, see Node is removed or fails.