-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
In general, the customer can tell if an application has stable API enabled if they have the appName set by running: db.runCommand( { serverStatus: 1 } ).metrics.apiVersions.
For example, when the customer ran commands with `apiStrict:true` and `apiVersion:1`, they expect the apiVersion metric only has version "1".
"apiVersions": { "myApp": [ "1" ],....}
But, if internal commands also runs ( such as run find agains config.transctions) , they get the apiVersion metric with "default". It is not expected.
"apiVersions": { "myApp": [ "default", "1" ],...}
To fix this issue, we need to exclude the api version of internal commands from api version metric code which is used for building the "apiVersions" section of the serverStatus output.