Uploaded image for project: 'Core Server'
  1. Core Server
  2. 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"

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 7.0.5
    • Component/s: None
    • Query Execution
    • ALL
    • Hide

      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.

      Show
      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.

      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.
       

            Assignee:
            backlog-query-execution [DO NOT USE] Backlog - Query Execution
            Reporter:
            stubenhocker1399@gmail.com Chris M
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated: