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

Can't connect to mongod when another DB is being compacted (v2.2.x)

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Gone away
    • Affects Version/s: 2.2.3
    • Fix Version/s: None
    • Labels:
      None
    • Environment:
      linux 64 bit
    • Operating System:
      Linux
    • Steps To Reproduce:
      Hide

      1) compact a db
      2) use another shell and try to connect to another db to see db.currentOp()

      Show
      1) compact a db 2) use another shell and try to connect to another db to see db.currentOp()

      Description

      Can't connect to mongod when another DB is being compacted (v2.2.x)

      Mongo's doc states out that Mongo v2.2 (and newer) allows to open another shell in order to view the current ops even though another database is being compacted:

      http://docs.mongodb.org/manual/reference/command/compact/
      "You may view the intermediate progress [...] by running the db.currentOp() in another shell instance."

      However, it seems that the whole mongod is blocked and not only the database which is being compacted.
      In my case, I was compacting the database "offerStore". Then I wanted to see the current ops by connecting in another shell to another DB ("admin"):

      > mongo s131:27018/admin -u XXX -p XXX

      However, the mongo shell was blocked until the compact was terminated!
      The logs show this as well:

      Mon Jun 24 14:46:49 [initandlisten] connection accepted from 192.168.200.31:35323 #4425462 (681 connections now open)
      Mon Jun 24 14:46:49 [conn4425462]  authenticate db: admin { authenticate: 1, nonce: "4b8be295eacec496", user: "admin", key: "970e8ac6c6e9de71b704c297c653c917" }
      ...
      Mon Jun 24 14:53:28 [conn4425462] command admin.$cmd command: { authenticate: 1, nonce: "4b8be295eacec496", user: "admin", key: "970e8ac6c6e9de71b704c297c653c917" } ntoreturn:1 keyUpdates:0 locks(micros) r:157023 reslen:82 398960ms
      ...
      Mon Jun 24 14:53:28 [conn4425462] SocketException handling request, closing client connection: 9001 socket exception [2] server [192.168.200.31:35323]

      As you can see, I wanted to connect at 14:46:49. I closed the shell after some minutes because it was blocked. After compaction at 14:53:28, mongo tried to auth again and closed the connection since my shell was closed already.

      Should I open a bug report?

      How can one see the progress of compaction programmatically (means not by the log-files).

      My mongod version is 2.2.3.
      My Mongo shell version is 2.2.1.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: