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

Add validation of splitVector output

    • Type: Icon: Bug Bug
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.2.8
    • Component/s: Querying, Sharding
    • None
    • Sharding
    • ALL
    • TIG 2016-09-19, TIG 2016-10-10, TIG 2016-10-31

      It is possible for the splitVector command to return split points that are outside the min/max range that it was told to search, when there is data corruption. This can cause downstream problems for splitChunk (see SERVER-25602).

      To keep potential problems in splitVector contained, it could have one or both of the following sanity checks:

      • Have a postcondition that all the split points being returned lie between min (inclusive) and max (exclusive).
      • Somewhat equivalently, have a loop invariant that the currKey variable always lies between min and max.

      (However, it may be more appropriate to fail the splitVector command, rather than to completely abort the mongod with an fassert/invariant failure.)

            Assignee:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            kevin.pulo@mongodb.com Kevin Pulo
            Votes:
            0 Vote for this issue
            Watchers:
            15 Start watching this issue

              Created:
              Updated:
              Resolved: