-
Type:
Bug
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: 3.0.2
-
Component/s: Diagnostics
-
Fully Compatible
-
ALL
-
None
-
None
-
None
-
None
-
None
-
None
-
None
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.
- 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
-