[SERVER-70355] [FLE2] Empty encrypted range predicate returns all documents Created: 07/Oct/22 Updated: 29/Oct/23 Resolved: 21/Oct/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Gil Alon | Assignee: | Ted Tuckman |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Operating System: | ALL |
| Sprint: | QO 2022-10-31 |
| Participants: |
| Description |
This query in the collection below returned the entire collection.
However, this tassert statement should have thrown an error.
|
| Comments |
| Comment by Githook User [ 21/Oct/22 ] |
|
Author: {'name': 'Ted Tuckman', 'email': 'ted.tuckman@mongodb.com', 'username': 'TedTuckman'}Message: |
| Comment by Gil Alon [ 10/Oct/22 ] |
|
Notes after talking to Davis. In the enterprise module FLEMatchExpression::processRangesInAndClause the last for loop is never entered. The IndexBoundsBuilder code never creates an interval since no interval can be created by the given values. Therefore the nodes are deleted without ever being added again. |
| Comment by Gil Alon [ 10/Oct/22 ] |
|
Here are some initial thoughts after investigating the bug:
|