Handling a split within a clustered environment
AssigneeInternational Business Machines Corporation
InventorsEsdras E. Cruz-Aguilar, Perinkulam I. Ganesh
Life of this patent
Estimating the term…
Abstract
Aspects of the present invention include a method, system and computer program product for handling a split condition within a computer cluster configuration. The method includes determining by a processor of a node, for each of a number of other nodes within a plurality of nodes whether each of the number of other nodes is in a DOWN state or an UP state; adding each node that is an UP state to a list of nodes that are in an UP state; adding each node that is a DOWN state to a list of nodes that are in a DOWN state; and generating a split event having two islands.
Claims15
A computer-implemented method comprising:
- determining, by a processor of a first node, for each of a number of other nodes within a plurality of nodes whether each of the number of other nodes is in a DOWN state or an UP state;
- adding, by the processor, each node that is an UP state to a list of nodes that are in an UP state;
- adding, by the processor, each node that is a DOWN state to a list of nodes that are in a DOWN state;
- generating, by the processor, a split event and dividing the plurality of nodes having an UP state into two islands, wherein each of the plurality of nodes having an UP state that are within each island are able to communicate with one another;
- identifying a first of the two islands as a winning island and a second of the two islands as a losing island;
- and
- instructing nodes in the losing island to release ownership of a resources shared with nodes in the winning island,
- wherein the identifying of the winning island and the losing island includes:
- determining whether the two islands have an equal number of nodes that are in an UP state;
- in response to a determination that the two islands have an equal number of nodes in an UP state;
- identifying the first of the two islands as being the winning island if the first island has an UP state node having a lowest short ID among nodes in an UP state of the two islands and identifying the second of the two islands as being the losing island;
- and
- identifying the second of the two islands as being the winning island if the second island has an UP state node having the lowest short ID among nodes in an UP state of the two islands and identifying the first of the two islands as being the losing island;
- and
- in response to a determination that the two islands do not have equal number of nodes in an UP state:
- identifying the first of the two islands as being the winning island if the first island has a larger number of nodes in an UP state as compared to the second island and identifying the second of the two islands as being the losing island;
- and
- identifying the second of the two islands as being the winning island if the second island has a larger number of nodes in an UP state as compared to the first island and identifying the second of the two islands as being the losing island.
A system comprising:
- a processor of a first node in communication with one or more types of memory, the processor configured to:
- determine for each of a number of other nodes within a plurality of nodes that each node whether each of the number of other nodes is in a DOWN state or an UP state;
- add each node that is an UP state to a list of nodes that are in an UP state;
- add each node that is a DOWN state to a list of nodes that are in a DOWN state;
- and
- generate a split event and divide the plurality of nodes having an UP state into two islands, wherein each of the plurality of nodes having an UP state that are within each island are able to communicate with one another;
- identify a first of the two islands as a winning island and a second of the two islands as a losing island;
- and
- instruct nodes in the losing island to release ownership of a resources shared with nodes in the winning island,
- wherein the identifying of the winning island and the losing island includes by the processor of the first node includes:
- determining whether the two islands have an equal number of nodes that are in an UP state;
- in response to a determination that the two islands have an equal number of nodes in an UP state:
- identifying the first of the two islands as being the winning island if the first island has an UP state node having a lowest short ID among nodes in an UP state of the two islands and identifying the second of the two islands as being the losing island, and
- identifying the second of the two islands as being the winning island if the second island has an UP state node having the lowest short ID among nodes in an UP state of the two islands and identifying the first of the two islands as being the losing island;
- and
- in response to a determination that the two islands do not have equal number of nodes in an UP state:
- identifying the first of the two islands as being the winning island if the first island has a larger number of nodes in an UP state as compared to the second island and identifying the second of the two islands as being the losing island;
- and
- identifying the second of the two islands as being the winning island if the second island has a larger number of nodes in an UP state as compared to the first island and identifying the second of the two islands as being the losing island.
A computer program product comprising:
- a non-transitory storage medium readable by a processing circuit of a first node and storing instructions for execution by the processing circuit for performing a method comprising:
- determining for each of a number of other nodes within a plurality of nodes that each node whether each of the number of other nodes is in a DOWN state or an UP state;
- adding each node that is an UP state to a list of nodes that are in an UP state;
- adding each node that is a DOWN state to a list of nodes that are in a DOWN state;
- and
- generating a split event and dividing the plurality of nodes having an UP state into two islands, wherein each of the plurality of nodes having an UP state that are within each island are able to communicate with one another;
- identifying a first of the two islands as a winning island and a second of the two islands as a losing island;
- and
- instructing nodes in the losing island to release ownership of a resources shared with nodes in the winning island,
- wherein the identifying of the winning island and the losing island includes:
- determining whether the two islands have an equal number of nodes that are in an UP state;
- in response to a determination that the two islands have an equal number of nodes in an UP state:
- identifying the first of the two islands as being the winning island if the first island has an UP state node having a lowest short ID among nodes in an UP state of the two islands and identifying the second of the two islands as being the losing island;
- and
- identifying the second of the two islands as being the winning island if the second island has an UP state node having the lowest short ID among nodes in an UP state of the two islands and identifying the first of the two islands as being the losing island;
- and
- in response to a determination that the two islands do not have equal number of nodes in an UP state:
- identifying the first of the two islands as being the winning island if the first island has a larger number of nodes in an UP state as compared to the second island and
- identifying the second of the two islands as being the losing island;
- and identifying the second of the two islands as being the winning island if the second island has a larger number of nodes in an UP state as compared to the first island and identifying the second of the two islands as being the losing island.
Dependencies are inferred from the claim text.