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

Validation can report false positive results when a hash collision happens

    • Type: Icon: Bug Bug
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • ALL
    • Execution Team 2022-02-07, Execution Team 2022-02-21, Execution Team 2022-03-07
    • 20

      We reduced the chance of hash collision in SERVER-48528 by using more bits. However, when one of the two hashes collides, we can still report wrong validation errors.

      For example, the collection has a record r1 and a matching index entry with hashes {h1, h2}. There is also an extra index entry without a matching record r2 with the hashes {h1, h3}. As a result, we will have both bucket h1 and h3 with non-zero values. The second phase in IndexConsistency::addDocKey() will think that r1 has a missing index entry since bucket h1 is non-zero.

      We may solve the problem by storing indexKeyCount as signed integers within IndexKeyBucket.

            Assignee:
            yuhong.zhang@mongodb.com Yuhong Zhang
            Reporter:
            yuhong.zhang@mongodb.com Yuhong Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: