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

Tons of ClientCursor::staticYield on a simple query

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 2.6.6
    • Component/s: Logging, Querying
    • None
    • Environment:
      Ubuntu Linux x86_64, mongodb 2.6.6
    • ALL

      Getting tons of:

      2015-01-07T08:13:51.389-0500 [conn23] warning: ClientCursor::staticYield can't unlock b/c of recursive lock ns:  top: { opid: 1957844, active: true, secs_running: 0, microsecs_running: 37370, op: "query", ns: "crm_production", query: { findAndModify: "carmen_background_runner_queues", query: { locked: false }, new: true, sort: { _id: 1 }, update: { $set: { locked: true } } }, client: "10.128.208.12:36839", desc: "conn23", threadId: "0x7f54c3b8d700", connectionId: 23, locks: { ^: "w", ^crm_production: "W" }, waitingForLock: false, numYields: 0, lockStats: { timeLockedMicros: {}, timeAcquiringMicros: { r: 0, w: 5523 } } }
      

      Had to configure log rotation to run hourly because log grows 10Gb per a few hours.

      Here's the ruby code (using mongoid gem) that causes the warning (it does not query same collection from multiple threads): http://pastebin.com/xVh9ex6r

      I think this should be considered as a high priority issue, since makes logging absolutely useless and we can't monitor real issues. And this warning is not descriptive at all, google is full of complaints but I didn't see real solutions.

            Assignee:
            ramon.fernandez@mongodb.com Ramon Fernandez Marina
            Reporter:
            alexs Alexander S.
            Votes:
            4 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: