-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
-
ALL
-
-
None
-
None
-
None
-
None
-
None
-
None
-
None
With non-default internalQueryCBRCEMode: "heuristicCE", a valid $mod query can fail with assertion 9274201 when the divisor is NumberLong("-9223372036854775808").
The heuristic estimator computes selectivity using std::abs() on the signed $mod divisor. For LLONG_MIN, the absolute value is not representable as long long, so this can produce a negative selectivity.
This is not severe because heuristicCE is not the default CBR mode. This appears related to SERVER-99958, but that fix did not cover the LLONG_MIN edge case.
- is related to
-
SERVER-99958 CBR asserts when $mod has negative divisor
-
- Closed
-