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

Add validation of splitVector output

    XMLWordPrintable

    Details

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

      Description

      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.)

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-sharding Backlog - Sharding Team
              Reporter:
              kevin.pulo Kevin Pulo
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: