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

Reduce warning messages on slow splitVector commands

    XMLWordPrintable

    Details

    • Case:

      Description

      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.

        Attachments

          Activity

            People

            Assignee:
            backlog-server-sharding Backlog - Sharding Team
            Reporter:
            greg.mckeon Gregory McKeon (Inactive)
            Participants:
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

              Dates

              Created:
              Updated: