Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-92662

In timeseries_agg_out.js allow 7268700 error code

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • v8.0
    • QE 2024-07-22, QE 2024-08-05
    • 0

      Consider the following:
      1. _originalOutOptions field is set to an empty object, because collection doesn't exist (yet): https://github.com/mongodb/mongo/blob/c675b7164d26faa943f7ff576b3be102a239d927/src/mongo/db/pipeline/document_source_out.cpp#L293

      2. Another thread creates the output collection.

      3. We get to this check: https://github.com/mongodb/mongo/blob/c675b7164d26faa943f7ff576b3be102a239d927/src/mongo/db/pipeline/document_source_out.cpp#L230

      Our targetTSOpts because it is based on now outdated _originalOutOptions AND getCollectionType will return that collection now exists.

      This causes uassert to fail.

      As we allow other multi-threading issues

            Assignee:
            ivan.fefer@mongodb.com Ivan Fefer
            Reporter:
            ivan.fefer@mongodb.com Ivan Fefer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: