System and method for reforming a distributed data system cluster after temporary node failures or restarts
First Claim
1. A distributed data system cluster, comprising:
- a plurality of nodes configured to store data as a distributed data cluster, wherein data stored on a first portion of the nodes is replicated on a second portion of the nodes;
an interconnect coupling the plurality of nodes;
wherein in response to detecting a failure of a first node included in the plurality of nodes, a second node included in the plurality of nodes that stores a copy of a data set stored on the first node is configured to;
determine whether the first node returns to the cluster during a timeout period initiated after the failure is detected; and
perform a copy operation for the data set over the interconnect with an other node included in the plurality of nodes if the first node fails to return to the cluster during a timeout period; and
refrain from performing the copy operation for the data set if the first node returns to the cluster during the timeout period.
2 Assignments
0 Petitions
Accused Products
Abstract
Data stored within a cluster may be distributed among nodes each storing a portion of the data. The data may be replicated wherein different nodes store copies of the same portion of the data. In response to detecting the failure of a node, the cluster may initiate a timeout period. If the node remains failed throughout the timeout period, the cluster may copy the portion of the data stored on the failed node onto one or more other nodes of the cluster. If the node returns to the cluster during the timeout period, the cluster may maintain the copy of the data on the previously failed node without copying the portion of the data stored on the failed node onto any other nodes. By delaying self-healing of the cluster for the timeout period, an unbalanced data distribution may be avoided in cases where a failed node quickly rejoins the cluster.
-
Citations
31 Claims
-
1. A distributed data system cluster, comprising:
-
a plurality of nodes configured to store data as a distributed data cluster, wherein data stored on a first portion of the nodes is replicated on a second portion of the nodes; an interconnect coupling the plurality of nodes; wherein in response to detecting a failure of a first node included in the plurality of nodes, a second node included in the plurality of nodes that stores a copy of a data set stored on the first node is configured to; determine whether the first node returns to the cluster during a timeout period initiated after the failure is detected; and perform a copy operation for the data set over the interconnect with an other node included in the plurality of nodes if the first node fails to return to the cluster during a timeout period; and refrain from performing the copy operation for the data set if the first node returns to the cluster during the timeout period. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
-
detecting a failure of a first node of a plurality of nodes included in a distributed data system cluster; in response to said detecting, initiating a timeout period; if the timeout period expires before the first node returns to the distributed data system cluster, replicating a portion of the data stored on the first node onto a second node included in the plurality of nodes; and if the first node returns to the cluster during the timeout period, maintaining the portion of the data on the first node instead of replicating the portion of the data onto the second node. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A distributed data system, comprising:
-
a cluster comprising a plurality of nodes, wherein the cluster is configured to store data, and wherein the data is replicated within the cluster; a client node configured to request access to the data stored on the cluster; and an interconnect coupling the client node to the cluster; wherein the cluster is configured to detect a failure of a first node included in the plurality of nodes and to initiate a timeout period in response to detecting the failure of the first node; wherein if the first node remains failed throughout the timeout period, the cluster is configured to copy a portion of the data stored on the failed node onto one or more other nodes included in the cluster; and wherein if the first node returns to the cluster during the timeout period, the cluster is configured to maintain the portion of the data on the first node instead of copying the portion of the data onto the one or more other nodes. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A device for use in a distributed data system cluster, the device comprising:
-
a communication interface configured to send and receive communications from one or more other nodes, wherein the communication interface is configured to detect a failed node within the distributed data system cluster and to detect whether the failed node returns to the distributed data system cluster; a data store coupled to the communication interface and configured to store data; and a replication topology manager coupled to the communication interface and configured to initiate a timeout period in response to the communication interface detecting the failed node; wherein if the timeout period expires before the failed node returns to the distributed data system cluster, the replication topology manager is configured to initiate a copy operation for a portion of the data stored in the data store; wherein if the communication interface detects that the failed node has returned to the distributed data system cluster before expiration of the timeout period, the replication topology manager is configured to not initiate the copy operation. - View Dependent Claims (28, 29, 30)
-
-
31. A system, comprising:
-
means for detecting a failure of a first node of a plurality of nodes included in a distributed data system cluster, wherein data is distributed among the plurality of nodes; means for initiating a timeout period; means for replicating a portion of the data stored on the first node onto a second node included in the plurality of nodes if the timeout period expires after the failure of the first node is detected and before the first node returns to the distributed data system cluster; wherein if the first node returns to the cluster during the timeout period, the means for replicating the portion of the data maintain the portion of the data on the first node instead of replicating the portion of the data onto the second node.
-
Specification