×

Recovering from conflicts that emerge from eventually consistent operations

  • US 10,176,191 B2
  • Filed: 12/11/2017
  • Issued: 01/08/2019
  • Est. Priority Date: 09/05/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method comprises:

  • detecting, by a computing device of a dispersed storage network (DSN), an inconsistency between a first version of an object at a first storage target within the DSN and a second version of the object at second storage target of the DSN;

    accessing, by the computing device, an operation log of the DSN to identify relevant entries regarding the object, wherein the operation log records requested data access operations for execution within the DSN;

    selecting, by the computing device, an inconsistency resolution approach from a list of inconsistency resolution approaches based on a type of inconsistency between the first and second versions of the object and based on the relevant entries, wherein the list of inconsistency resolution approaches includes a multiple version storage option, a most current version storage option, and a merged version storage option;

    when the selected inconsistency resolution approach is the multiple version storage option;

    sending, by the computing device, a first storage request to the first storage target to store the first version of the object; and

    sending, by the computing device, a second storage request to the second storage target to store the second version of the object;

    when the selected inconsistency resolution approach is the merged version storage option;

    determining, by the computing device, a specific inconsistency between the first version of the object and the second version of the object;

    determining, by the computing device, whether the specific inconsistency is compatible or incompatible;

    when the specific inconsistency is compatible;

    updating the first and second versions of the object to include the specific inconsistency; and

    when the specific inconsistency is incompatible;

    utilizing the most current version storage option to resolve the specific inconsistency; and

    when the selected inconsistency resolution approach is the most current version storage option;

    determining, by the computing device, whether the first version of the object or the second version of the object is more current based on the relevant entries of the operation log;

    when the first version of the object is more current, determining, by the computing device, determining an updating approach of the second version of the object based on a type of the object, wherein determining the updating approach includes, when the type of the object is an encoded data slice of a set of encoded data slices, the first version of the object is a first copy of the encoded data slice having a first revision level, and the second version of the object is a second copy of the encoded data slice having a second revision level, determining whether the first revision level is a more current revision level of the encoded data slice than the second revision level; and

    implementing, by the computing device, the updating approach of the second version of the object such that the updated second version of the object is consistent with the first version of the object.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×