[SERVER-86347] Vectorization of a filter stage without a filter expression fails to switch to scalar Created: 07/Feb/24  Updated: 07/Feb/24

Status: In Code Review
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Alberto Massari Assignee: Alberto Massari
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Assigned Teams:
Query Execution
Operating System: ALL
Sprint: QE 2024-02-19
Participants:
Linked BF Score: 144

 Description   

When a $match has an expression that, when compiled, leads to an empty filter, we don't check if the caller is able to process block values

 db.repro.explain().aggregate([{$project: {"obj.obj": 1}}, {$match: {$or: [{"hidden": {$bitsAnySet: NumberInt(6)}}, {$expr: {$literal: true}}]}}, {$sort: {_id: 1}},  {$group: {_id: null}}])



 Comments   
Comment by Githook User [ 07/Feb/24 ]

Author:

{'name': 'Alberto Massari', 'email': 'alberto.massari@mongodb.com', 'username': 'albymassari'}

Message: SERVER-86347 $match closes vector processing if caller doesn't support it (#18784)

GitOrigin-RevId: 688e4a2a05f76934baa3b6c16c185841cfb01c98
Branch: master
https://github.com/mongodb/mongo/commit/260ff5feb5f41a9498b4424b0b5deb2479450dd2

Generated at Thu Feb 08 07:00:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.