Uploaded image for project: 'Documentation'
  1. Documentation
  2. DOCS-12053

Docs for SERVER-36255: Prohibit $out with readConcern level "linearizable"

      Description

      Description:

      This is a backwards-breaking change that removes support for running the aggregate command with a $out stage and readConcern level "linearizable".

      Engineering Ticket Description:

      In MongoDB 4.0 and earlier, we explicitly ban readConcern level "majority" for aggregation pipelines containing $out.

          auto readConcernLevel = repl::ReadConcernArgs::get(expCtx->opCtx).getLevel();
          uassert(ErrorCodes::InvalidOptions,
                  "$out cannot be used with a 'majority' read concern level",
                  readConcernLevel != repl::ReadConcernLevel::kMajorityReadConcern);
      

      However, it does allow readConcern level "linearizable". As linearizability is a property of a single document, we will ban a $out aggregation with readConcern level "linearizable", as it isn't clear what semantics will be offered to our users.

      This is a backwards-breaking change in 4.2; however, we will allow support for readConcern level "majority" in $out pipelines in SERVER-20445.

      Scope of changes

      Impact to Other Docs

      MVP (Work and Date)

      Resources (Scope or Design Docs, Invision, etc.)

            Assignee:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Reporter:
            kay.kim@mongodb.com Kay Kim (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              5 years, 23 weeks, 6 days ago