Add DAO layer in resharding coordinator to ensure we always persist the document

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Cluster Scalability
    • 0
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      We are currently making changes the ReshardingCoordinatorService to always rely on a DAO (Data Access Object) abstraction that facilitates all of the on disk updates needed for the resharding operation state, and remove the private _coordinatorDoc member variable. This will prevent future issues where we have out of sync in-memory and on-disk state documents and will simplify the readability and writeability of the code. The ReshardingCoordinatorService now only needs to work with the DAO abstraction and we no longer have to deal with managing the intracacies of properly managing the state document. This also improves our testing, as we can now write unit tests for the just the DAO and we are able to test that we always write the state document to disk correctly. We can also update our ReshardingCoordinatorService unit tests to use this new DAO so that we prevent any future race conditions from occuring as seen in BF-36645.

            Assignee:
            Ben Gawel
            Reporter:
            Ben Gawel
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: