Fail rollback via refetch if UUID of transactions collection is different on sync source

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.5.13
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • Sharding 2017-08-21, Sharding 2017-09-11
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Unreplicated drops or renames on either node involved in a rollback can cause the UUID of the transactions collection to be inconsistent between them, which can lead to transactions records being fetched incorrectly.

      Since this shouldn't happen often (only on non-WiredTiger storage engines and the config database has existing access control), if when refetching transaction table documents, the namespace returned for the query using the local node's transaction table UUID is not "config.transactions," rollback should fail, forcing initial sync.

      The namespace is already returned for the find command used in rollbackViaRefetch with UUIDs, so it just needs to be checked if the UUID used in the find matches the UUID of the transactions table.

            Assignee:
            Jack Mulrow
            Reporter:
            Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: