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

Tons of ClientCursor::staticYield on a simple query

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Duplicate
    • 2.6.6
    • None
    • Logging, Querying
    • None
    • Ubuntu Linux x86_64, mongodb 2.6.6
    • ALL

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

              ramon.fernandez@mongodb.com Ramon Fernandez Marina
              heaven Alexander
              Votes:
              4 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: