-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: 8.0.8, 9.0.0-rc0, 8.0.29, 8.3.8
-
Component/s: None
-
Query Optimization
-
Fully Compatible
-
ALL
-
v9.0, v8.3, v8.2, v8.0
-
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Reproduced here: https://github.com/markbrownmongodb/LINQ_Demo
My customer at UKG surfaced an issue seen while upgrading from 7.0.11 to 8.0.8, text is below. I built a small test case to exercise this and reproduced this issue, see link above. I advised the customer about the workaround and that I would file a JIRA.
Thanks for addressing this!
Customer states:
hey folks. we found an issue that came up while upgrading to mongo 8. could someone check if there's any known issue around something like this?
we noticed a breaking change during our mongo 8 upgrade that we haven't found any documentation for. it happens in cases where we use boolean match linq expressions. and the result is that we get less records than expected. it behaves similar to the changes for matching null against "undefined", but in this case none of the values are undefined. they are just true/false.
see this code snippet for an example of the expression.
Expression<Func<Application, bool>> candidateStatusFilter = a => !shouldFilterOnCandidateType || (filterInactiveCandidates && a.IsCandidateInternal && !a.IsCandidateActiveEmployee) || (filterExternalCandidates && !a.IsCandidateInternal) || (filterInternalCandidates && a.IsCandidateInternal && a.IsCandidateActiveEmployee);
- is related to
-
SERVER-81630 Enable Boolean expression simplifier
-
- Closed
-
- related to
-
SERVER-132145 Introduce PBT targeting boolean simplifier
-
- Backlog
-