-
Type: Task
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Aggregation Framework
-
Query Optimization
With SERVER-35897 complete, we have the ability to perform a $out in a way that performs no catalog changes (i.e. no collection drops or renames). In theory, this should allow us to allow an aggregation $out in a transaction as long as we run in one of those modes.
This ticket will track work to simply remove the prohibition of $out in a transaction as long as the "mode" is compatible. We'll also write tests that exercise this behavior as appropriate.
(Currently, we plan to use the DBDirectClient and the ClusterWriter to perform writes inside of $out. We will have to investigate whether this will work in a transaction. One concern is the risk of a deadlock on checking out the session or stashed transaction resources, especially with the DBDirectClient. We may have to either unstash resources or refactor the code in a way that does not depend on the DBDirectClient.)
- depends on
-
SERVER-35897 Support dropTarget false in $out
- Closed