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

Reduce warning messages on slow splitVector commands

    • Fully Compatible
    • Sharding EMEA 2022-11-28

      The splitVector command internally uses PlanExecutor::YIELD_AUTO in order to enforce automatic yielding. The plan may yield on any call to getNext() if this is non-NULL. This is used to avoid competition for I/O resources. Basically, we could say that they are slow by design to not interfere with application traffic.

      When a splitVector command takes more than 100ms, the default slowMS, it is logged as a W message. Since the query itself is designed to be slower than usual, having a splitVector which needs more than 100ms could be common on some environments and therefore not an indication of any problem.

      W SHARDING [conn349989] Finding the split vector for DB.Collection over { _id: 1.0 } keyCount: 146525 numSplits: 0 lookedAt: 145991 took 121ms

      We should lower the splitVector slow query logging by either lowering the threshold for slow queries or by logging it as Information rather than as Warning.

            pol.pinol@mongodb.com Pol Pinol
            greg.mckeon@mongodb.com Gregory McKeon (Inactive)
            1 Vote for this issue
            8 Start watching this issue