-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
Background
The Catalog object is a decorator of the operation context that can be accessed in any point, but it should always follow a collection/database acquisition.
Currently, the usage of the class is non-obvious to engineers which can lead to wrong query results and/or data losses in some edge cases.
Proposal
A user that wants to access a catalog should always feel enforced to reference an acquisition. Ideally, we could do the following:
- Extend the shard role api Acquisition as needed to wrap the missing catalog functionalities
- Remove direct usage of CatalogCollection outside of the Acquisition
- Remove the class linking where applicable
Scope for this ticket
Refactor the following files to use proper Catalog access through Acquisition: