FAILURE RECOVERY FOR DISTRIBUTED SEARCH
A distributed search system can comprise a group of nodes assigned to different partitions. Each partition can store indexes for a group of documents. Nodes in the same partition can independently processing document-based records to construct the indexes. In case of a failure, a checkpoint can be loaded into a set of nodes including a node in each partition. The checkpoint can contain the indexes.
1 . A distributed search system comprising:
a group of nodes assigned to different partitions, each partition storing indexes for a group of documents, nodes in the same partition independently processing document-based records to construct the indexes, wherein, in case of a failure, a checkpoint can be loaded into a set of nodes including a node in each partition, the checkpoint containing the indexes, extracted document text and metadata.
2 . The distributed search system of claim 1 , wherein the nodes store partitioned document data.
3 . The distributed search system of claim 2 , wherein the checkpoints include the partial data from the different nodes.
4 . The distributed search system of claim 1 , wherein the checkpoint is stored at a central location.
5 . The distributed search system of claim 1 , wherein the central location also contains central queue of document-based records.
6 . A distributed search system comprising:
a group of nodes assigned to different partitions, each partition storing indexes for a group of documents, nodes in the same partition independently processing document-based records to construct the indexes, wherein a set of nodes is used to create a checkpoint for the indexes, and wherein the set of nodes includes a node in each partition;
in case of a failure, a checkpoint is loaded into a set of nodes including a node in each partition, the checkpoint containing the indexes and document data.
7 . The distributed search system of claim 6 , wherein the checkpoint is stored at a central location.
8 . The distributed search system of claim 6 , wherein the central location also contains a central queue of document-based records.
9 . A computer readable medium including code to:
in case of failure, initiate the loading of a checkpoint to a set of nodes each node containing an index for a group of documents for a partition; and
replace the indexes at the nodes with a checkpoint version of the indexes.
10 . The distributed search system of claim 9 , wherein the nodes store document data.
11 . The distributed search system of claim 10 , wherein the checkpoints include the partitioned document data from the different nodes.
12 . The distributed search system of claim 9 , wherein the checkpoint is stored at a central location.
13 . The distributed search system of claim 9 , wherein the central location also contains a central queue of document-based records.
14 . A distributed search system comprising:
a group of nodes assigned to different partitions, each partition storing indexes for a group of documents, nodes in the same partition independently processing document-based records to construct indexes, wherein a set of nodes is used to create a checkpoint for the indexes, the set of nodes includes a node in each partition and wherein the creation of the checkpoint includes determining the most recent transaction used in an index at any node of the set of nodes, instructing the set of nodes to update the indexes up to the most recent transaction, and then transferring the indexes from the set of nodes as a checkpoint to a storage location.
15 . A distributed search system comprising:
a group of nodes assigned to different partitions, each partition storing indexes for a group of documents, nodes in the same partition independently processing document-based records to construct the indexes, wherein, in case of a failure, a checkpoint can be loaded into a set of nodes, the checkpoint containing the indexes, extracted document text and metadata, wherein when a new, empty failover node is added to an existing partition, or when an existing node is replaced by an empty node due to hardware failure, the new node compares its state to the state of the rest of the cluster and if it is behind the most recent transaction, it locates the most recent checkpoint, restores itself from the most recent checkpoint, and plays forward through transactions in the request queue that are subsequent to the most recent checkpoint, until it has caught up.