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

Validate during rollback can cause count mismatch

    • Fully Compatible
    • ALL
    • v4.2, v4.0
    • Repl 2019-08-26, Repl 2019-09-09, Repl 2019-09-23, Repl 2019-10-07
    • 16

      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.

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