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

dbCheck will cause rollback to abort

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: 3.5.12
    • Fix Version/s: Backlog
    • Component/s: Storage
    • Labels:

      Description

      The dbcheck oplog type OplogEntry::CommandType::kDbCheck is currently not supported by rollback, so attempting to roll back a dbCheck will cause rollback to terminate.

      [js_test:rollback_test_1504934424_0-dbCheckFassert] 2017-09-11T10:49:45.679-0400 d20013| 2017-09-11T10:49:45.678-0400 F ROLLBACK [rsBackgroundSync] Unable to complete rollback. A full resync may be needed: UnrecoverableRollbackError: need to rollback, but unable to determine common point between local and remote oplog: Can't roll back this command yet:  cmdname = dbCheck
      [js_test:rollback_test_1504934424_0-dbCheckFassert] 2017-09-11T10:49:45.679-0400 d20013| 2017-09-11T10:49:45.678-0400 F -        [rsBackgroundSync] Fatal Assertion 40507 at src/mongo/db/repl/rs_rollback.cpp 1459
      

      The correct behavior should be to make dbCheck a no-op during rollback similar to dropDatabase, as dbCheck commands do not need to be rolled back.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-execution Backlog - Storage Execution Team
              Reporter:
              robert.guo Robert Guo
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: