[SERVER-86326] Regression: Queries have started failing after upgrade to MongoDB 7 "Regular expression is invalid: pattern string is longer than the limit set by the application" Created: 06/Feb/24  Updated: 07/Feb/24

Status: Needs Verification
Project: Core Server
Component/s: None
Affects Version/s: 7.0.5
Fix Version/s: None

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

Operating System: ALL
Steps To Reproduce:

Make a query with a regex pattern longer than 16384.
 
```js
const kMaxRegexPatternLen = 16384 + 1;
const patternMaxLen = "c".repeat(kMaxRegexPatternLen);
```
 
Run query:
```

{ fieldName: \{ "$regex": patternMaxLen}

}
```
 
Previously, this query ran fine with a limit upwards of 32764 characters.

Participants:

 Description   

After upgrading our database several of our queries started failing with the error message

"Regular expression is invalid: pattern string is longer than the limit set by the application"

 

I've traced the relevant code to these following lines:

 

https://github.com/mongodb/mongo/blob/739b0b5f8e53f09e916a57d4b45b8f7dbbddb211/src/mongo/util/pcre.cpp#L130

https://github.com/PCRE2Project/pcre2/blob/master/src/pcre2_compile.c#L10226C24-L10230

 

So I am fairly confident this problem was introduced with the following commit:

https://github.com/mongodb/mongo/commit/468f41278b6b30aa602e81010cf7ef7973d97e4d

 

An option to change this limit via a config option would solve this regression for us.
 


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