Patent ID: 8326801

Claim:
A computer-implemented method for providing database access during database reconfiguration, the method comprising: for a given data partition of a database, an act of establishing two quorum sets of replicas, including a first quorum set and a second quorum set, to replicate the data of the given data partition, such that two quorum sets of replicas exist for the same data partition, wherein the quorum sets of replicas ensure that at least a minimum number of replicas are operating to commit pending transactions during partition reconfiguration, and wherein the quorum sets include at least one primary replica that has membership in both of the quorum sets; an act of determining that a data partition reconfiguration has been initiated, the data partition reconfiguration being performed to change the configuration of a quorum set to a new configuration; and an act of providing access to the data partition's data during reconfiguration of the data partition using at least a quorum of replicas in each of the two quorum sets of replicas by: when reconfiguration starts, changing quorum membership for all replicas in the first quorum set so that the replicas in the first quorum set are members of both the first and second quorum sets; changing the second quorum set to the new configuration, but where the second quorum set includes the primary replica that has membership in both quorum sets and a sufficient number and distribution of replicas to commit pending transactions, such that the second quorum set can be used to commit pending transactions during reconfiguration; changing membership of all replicas in the second quorum set configured to the new configuration to be members of the first quorum set such that the first quorum set is configured to the new configuration; and changing the membership of any replicas that are not included in the new configuration such that they are no longer part of any quorum set.