This ticket is to add logic to disallow nesting of RouterRoles that operate on the same namespaces. Nesting will be defined as having two RouterRole objects on the same operation context that:
- Mix database and collection routing: Database routing is intended for DDL operations and should not be mixed with CRUD
- The same databases (for database routing)
- Overlapping namespaces (for collection routing)
Given that the Router objects are now stateful, we will also ban having two objects coexist on the same stack.
- depends on
-
SERVER-114324 Two phase write operations can fail on stale router
-
- Needs Scheduling
-
-
SERVER-114544 Make DB/Collection/MultiCollectionRouter's constructors take OperationContext
-
- In Code Review
-