Details
-
Bug
-
Resolution: Done
-
Major - P3
-
3.0.2
-
Fully Compatible
-
ALL
Description
Simple Repro:
- Spin up mongod 3.0.2, default options are fine.
- Open five mongo shells against it.
- db.currentOp(true) in one of them.
The entries for the four idle shells will look like:
{
|
"desc" : "conn5",
|
"threadId" : "0x7fb07b80e310",
|
"connectionId" : 5,
|
"active" : false
|
},
|
Perform the same steps in 2.6.9, and you get back something akin to:
{
|
"opid" : 25,
|
"active" : false,
|
"op" : "query",
|
"ns" : "",
|
"query" : {
|
"isMaster" : 1,
|
"forShell" : 1
|
},
|
"client" : "127.0.0.1:63404",
|
"desc" : "conn3",
|
"threadId" : "0x106e04000",
|
"connectionId" : 3,
|
"waitingForLock" : false,
|
"numYields" : 0,
|
"lockStats" : {
|
"timeLockedMicros" : {
|
|
},
|
"timeAcquiringMicros" : {
|
|
}
|
}
|
},
|
Having the client information available, even for idle connections, is quite useful in some diagnostics processes, including tracking all of the applications which are connected at any given time.
Attachments
Issue Links
- is duplicated by
-
SERVER-20310 db.currentOp(True) does not return client information on idle connections on 3.0.x
-
- Closed
-
- is related to
-
SERVER-21401 db.currentOp(true) can cause use-after-free if a client connection is closed simultaneously
-
- Closed
-
- related to
-
SERVER-20323 db.currentOp(True) does not return operation ids for inactive operations
-
- Closed
-