Transaction validator
AssigneeGoogle Inc.
InventorsAdam Dickinson, James Corbett
Life of this patent
Estimating the term…
Abstract
Randomized testing can be used to explore a set of possible transactions, schemas, and system states, including partionings, which can exist in a distributed database. The tests can be complementary to other system failure, performance, and version compatibility tests. Randomly generated transactions can be computed or evaluated at a transactor and compared to results derived from a transactor emulator.
Claims20
A method to test a transactor in a distributed database, the method comprising:
- generating a first transaction defining actions related to the distributed database;
- transacting the first transaction at the transactor;
- logging in a log information resulting from transacting the first transaction;
- generating an equivalent transaction based on the information in the log;
- transacting the equivalent transaction in a transactor emulator to generate transaction results;
- and
- comparing the information resulting from transacting the first transaction and the transaction results from the equivalent transaction to verify the execution of the transaction by the transactor.
A system comprising:
- a network, the network including a distributed database on one or more nodes of the network;
- a transactor configured to execute on one or more nodes of the network, wherein the transactor is further configured to:
- generate a first transaction defining actions related to the distributed database;
- process the first transaction;
- and
- a computing device comprising a-one or more processors coupled to memory, wherein the computing device is configured to run a transactor emulator,
- wherein the transactor emulator is configured to:
- process an equivalent transaction,
- compare information from resulting from processing the first transaction and transaction results from processing the equivalent transaction to verify the execution of the first transaction by the transactor.
One or more non-transitory computer readable medium containing instructions, the instructions when run configured to perform the steps of:
- generating a first transaction defining actions related to the distributed database;
- transacting the first transaction at a transactor;
- logging in a log information resulting from transacting the first transaction;
- generating an equivalent transaction based on the information in the log;
- transacting the equivalent transaction in a transactor emulator to generate transaction results;
- and
- comparing the information resulting from transacting the first transaction and the transaction results from the equivalent transaction to verify the execution of the transaction by the transactor.
Dependencies are inferred from the claim text.