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

Validate during rollback can cause count mismatch

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 4.2.1, 4.3.1, 4.0.14
    • Replication, Storage
    • None
    • Fully Compatible
    • ALL
    • v4.2, v4.0
    • Repl 2019-08-26, Repl 2019-09-09, Repl 2019-09-23, Repl 2019-10-07
    • 16

    Description

      When validate is run, it marks a collection as always needing size adjustment. This causes rollback to assume that oplog application will correct the record store sizes, even though it won't if we have rolled back any inserts or deletes that change the size (and don't account for those).

      If validate is called after we call RTT, then it should be marked for size adjustment, and if it is called before RTT it shouldn't be. We clear the "mark for size adjustment" state before each rollback, so it can really only be relevant to validates that happen during the rollback. I think we shouldn't allow validate while we're rolling back, and we should not mark collections for size adjustment on validate since it's unnecessary.

      Attachments

        Issue Links

          Activity

            People

              pavithra.vetriselvan@mongodb.com Pavithra Vetriselvan
              judah.schvimer@mongodb.com Judah Schvimer
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: