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

ValidateAdaptor::validateIndexKeyCount should not compare in-memory and persisted checkpoint _id index entry counts

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • Execution Team 2019-10-07

      ValidateAdaptor::validateIndexKeyCount is called during collection validation here and we pass in the Collection's RecordStore's numRecords() return value that is an in-memory counter. This is then compared against validation's IndexConsistency's recorded number of traversed index entries (numTotalKeys) here. IndexConsistency builds this entry count from prior validation work in ValidateAdaptor::traverseIndex, where we iterate a cursor and maintain a count of entries in the IndexConsistency object.

      For background validation, that cursor will be a checkpoint cursor, and then we will compare it against the in-memory Collection's count, which is wrong.

            Assignee:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: