-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
QE 2025-06-09, QE 2025-06-23, QE 2025-07-07
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
0
SERVER-105438 introduces code that makes it easy to switch the namespace matching in change streams from using BSON regexes to using simple equality matches for several cases.
At the time of this writing, the code in change_stream_filter_helpers.cpp has 22 occurrences of BSONRegex, which are all used for namespace matching.
Several of these regex match expressions can be turned into simpler {$eq: ns} match expressions, which should execute more efficiently.
The changes from SERVER-105438 contain some code comments that reference this ticket at potential locations of improvement.
However, when applying all the suggested improvements, a collation-related change streams test will start failing: jstests/change_streams/collation.js.
The failure has to do with namespace matching, which seems to behave differently with and without regexes when collations are enabled.
This should be investigated and understood, so that we can finally simplify several of the namespace match expressions from regexes to simple equality matches, and improve matching performance.
- is related to
-
SERVER-105438 Prepare change streams matching code for future non-regex ns matches
-
- Closed
-