-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Labels:
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.)
- documents
-
SERVER-36255 Prohibit $out with readConcern level "linearizable"
- Closed