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

Prohibit $out with readConcern level "linearizable"

    • Minor Change
    • Query 2018-09-24

      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.

            Assignee:
            kyle.suarez@mongodb.com Kyle Suarez
            Reporter:
            kyle.suarez@mongodb.com Kyle Suarez
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: