Clustering for high availability and disaster recovery
AssigneeSplunk Inc.
InventorsVishal Patel, Mitchell Neuman Blank, Jr., Sundar Rengarajan Vasan, Stephen Phillip Sorkin
Life of this patent
Estimating the term…
Abstract
Embodiments are directed towards managing within a cluster environment having a plurality of indexers for data storage using redundancy the data being managed using a generation identifier, such that a primary indexer is designated for a given generation of data. When a master device for the cluster fails, data may continue to be stored using redundancy, and data searches performed may still be performed.
Claims30
A computer-implemented method, comprising:
- receiving, at an indexer, (i) a first query to search a subset of data accessible to the indexer, and (ii) a first identifier indicating that the indexer has primary responsibility for responding to the first query with a result from a search of the subset of data that is based on the first query;
- receiving, at the indexer, (i) a second query to search the subset of data and (ii) a second identifier different from the first identifier and indicating that the indexer does not have primary responsibility for responding to the second query with a result from a search of the subset of data that is based on the second query;
- determining, at the indexer, based on the first identifier, and independent from having access to the subset of data, that the indexer should respond to the first query with the result from the search of the subset of data that is based on the first query;
- and
- determining, at the indexer, based on the second identifier, and independent from having access to the subset of data, that the indexer should not respond to the second query with the result from the search of the subset of data that is based on the second query.
A system comprising:
- one or more data processors;
- and
- a non-transitory computer-readable storage medium containing instructions which when executed on the one or more data processors, cause the one or more processors to perform operations including:
- receiving, at an indexer, (i) a first query to search a subset of data accessible to the indexer, and (ii) a first identifier indicating that the indexer has primary responsibility for responding to the first query with a result from a search of the subset of data that is based on the first query;
- receiving, at the indexer, (i) a second query to search the subset of data and (ii) a second identifier different from the first identifier and indicating that the indexer does not have primary responsibility for responding to the second query with a result from a search of the subset of data that is based on the second query;
- determining, at the indexer, based on the first identifier, and independent from having access to the subset of data, that the indexer should respond to the first query with the result from the search of the subset of data that is based on the first query;
- and
- determining, at the indexer, based on the second identifier, and independent from having access to the subset of data, that the indexer should not respond to the second query with the result from the search of the subset of data that is based on the second query.
A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions to cause one or more data processors perform operations including:
- receiving, at an indexer, (i) a first query to search a subset of data accessible to the indexer, and (ii) a first identifier indicating that the indexer has primary responsibility for responding to the first query with a result from a search of the subset of data that is based on the first query;
- receiving, at the indexer, (i) a second query to search the subset of data and (ii) a second identifier different from the first identifier and indicating that the indexer does not have primary responsibility for responding to the second query with a result from a search of the subset of data that is based on the second query;
- determining, at the indexer, based on the first identifier, and independent from having access to the subset of data, that the indexer should respond to the first query with the result from the search of the subset of data that is based on the first query;
- and
- determining, at the indexer, based on the second identifier, and independent from having access to the subset of data, that the indexer should not respond to the second query with the result from the search of the subset of data that is based on the second query.
Dependencies are inferred from the claim text.