[SERVER-78502] [CQF] Relax M2 CQF fallback (tryBonsai) to allow {_id: 'hashed'} index Created: 28/Jun/23 Updated: 29/Oct/23 Resolved: 07/Sep/23 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 7.2.0-rc0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Ben Shteinfeld | Assignee: | Lynne Wang |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||
| Assigned Teams: |
Query Optimization
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Participants: | |||||||||||||
| Description |
|
A sharded collection must be backed by an index on the shard key. In M2, we are running through bonsai only for collection scan plans which necessitate there being no indexes on the collection besides the primary index. However many of our sharding suites define {_id: 'hashed'}, so we should support this case to gain more coverage of M2. |
| Comments |
| Comment by Githook User [ 07/Sep/23 ] |
|
Author: {'name': 'Lynne Wang', 'email': 'lynne.wang@mongodb.com', 'username': ''}Message: Removed debugging code and updated function comments Renamed hashed id index check to isHashedIdIndex, added test coverage for queries in hashed id index collections that reference _id Refactored hashed id index support in cqf logic, disabled currentop_query.js in cqf_experimental_no_passthrough Added note to update currentOp to test cqf queries Added comment about hashed id indexes in cqf_get_executor.cpp Broadened excluded suites from cqf_experimental_incompatible to cqf_incompatible Deleted unnecessary variables in cqf_command_utils logic for index checking Used isHashedIdIndex var instead of Index::Btree Explained inclusion of id hashed indexes in cqf eligibility checker |
| Comment by Ben Shteinfeld [ 23/Aug/23 ] |
|
I think |
| Comment by Hana Pearlman [ 23/Aug/23 ] |
|
Can this be closed as a dupe of |