Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-30508

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

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 3.5.13
    • None
    • Sharding
    • None
    • Fully Compatible
    • Sharding 2017-08-21, Sharding 2017-09-11

    Description

      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.

      Attachments

        Activity

          People

            jack.mulrow@mongodb.com Jack Mulrow
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: