-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
It would be helpful to distinguish whether active queries are using the SBE or classic engines, in case there's ever a problem where SBE specifically is misbehaving, versus the classic engine, when both are running on a mongod depending on the query.
I did some investigation into adding flags to currentOp output, so I've added some notes below in case it is helpful.
------------------------------------------------------
The info should be carried across to getMore cmds, so it looks like the info will need to hook into/through the ClientCursor (perhaps a flag on the PlanExecutor the ClientCursor holds). The decision whether to use SBE appears to take place in getExecutor. So perhaps inside the getSlotBasedExecutor where OpDebug info is set (this will ultimately go into <db>.system.profile after the operation is done), we can add setting a flag on CurOp.
I'm unfamiliar with if there are any nesting problems to worry about, e.g. the DBDirectClient and leaving CurOp flags set when no longer running a query, or perhaps even subsequently running a query that uses the classic engine. Granted, that sounds like a problem for internal server operations, rather than user initiated operations. I'm not sure what the status quo is for this type of thing.
- is depended on by
-
COMPASS-6307 Investigate changes in SERVER-68803: Add whether SBE is in use to currentOp output
- Closed
-
TOOLS-3220 Investigate changes in SERVER-68803: Add whether SBE is in use to currentOp output
- Closed
- is related to
-
SERVER-68847 Include "Query Framework" information in GetMore profiler entries
- Closed
- related to
-
SERVER-61763 Add query related metrics to serverStatus & currentOp
- Closed