-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Integration
-
Fully Compatible
-
v8.0, v7.0, v6.0
-
200
We have a try-catch around computing the queryStats key, but it only catches
BSONObjectTooLarge errors. We should catch more errors so that a failure to compute the queryStats key does not fail the whole query. We could do something similar to this try-catch on the $queryStats path where we only fail the query on debug builds or if
internalQueryStatsErrorsAreCommandFatal is true. In most cases, we should simply skip collecting query stats and proceed with query planning/execution.
This kind of change would help avoid issues like HELP-63821 where the query succeeds in parsing but fails in computing the queryStats key so that the query does not execute.
- is related to
-
SERVER-94227 Stop validating pipelines if re-parsing for query stats, plus a refactor
- Blocked
-
SERVER-98220 [v6.0] Add querystats errorcodes to find_all_values_at_path_expression.js
- Closed
- related to
-
SERVER-94238 Query should not fail if querySettings fails to compute key
- Closed
-
SERVER-94819 Audit query stats passthrough test failures from serialize() side effects
- Closed
-
SERVER-97432 Use named error code for query stats registerRequest uassert
- Closed