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

if db.currentOp(true) exceeds 16MB, it returns invalid BSON size errors

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor - P4 Minor - P4
    • None
    • 2.2.2
    • Diagnostics
    • None
    • ALL

    Description

      In this case, a db.currentOp(true) was issued on a mongos shell. Presumably, this will collect all db.currentOp(true) outputs from the shards, combine them and return the end result.

      I'm not sure if there is an easy way to avoid the problem. Perhaps it should only return what can fit in the 16MB document, rather than returning the error message. Or fail gracefully with a better error message.

      mongos> db.currentOp(true)
      Mon Jan 21 19:35:38 uncaught exception: error {
      "$err" : "Invalid BSONObj size: 17828054 (0xD6081001) first element: 0: { opid: "xxx:xxxxxxx", active: false, op: "update", ns: "xxxx.xxxx", query: { _id: "xxxxxx" }, client_s: "xxxxxxxxx:xxxxx", desc: "xxxxxxxx", threadId: "xxxxxxxxxxxx", connectionId: xxxxxx, waitingForLock: false, numYields: 0, lockStats: { timeLockedMicros: { r: 0, w: 709 }, timeAcquiringMicros: { r: 0, w: 7 } } }",
      "code" : 10334
      }

      Attachments

        Activity

          People

            backlog-server-platform DO NOT USE - Backlog - Platform Team
            thomas.rueckstiess@mongodb.com Thomas Rueckstiess
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: