[SERVER-68229] Remove dependency of `catalog_impl` on `oplog` Created: 22/Jul/22 Updated: 29/Jul/22 Resolved: 29/Jul/22 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Sharding |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Kaloian Manassiev | Assignee: | Kaloian Manassiev |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | PM-2144-Milestone-0 | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Sprint: | Sharding EMEA 2022-07-25, Sharding EMEA 2022-08-08 | ||||||||
| Participants: | |||||||||
| Description |
|
Currently, there is a circular dependency between the `oplog` library and `catalog_impl`, which links just because the Collection class is virtual. With CRUD (or rather any writing code) being pulled out of CollectionImpl, this class will become the lowest possible denominator for operations against the catalog and it will be below the `oplog` hierarchically. Temporarily they will have to interact through the `LocalOpLog` interface and this ticket is to perform this decoupling. |
| Comments |
| Comment by Kaloian Manassiev [ 29/Jul/22 ] |
|
Per discussion with henrik.edin@mongodb.com and louis.williams@mongodb.com, we decided that we will go in the direction of exposing more CollectionImpl details as virtual on the Collection rather than doubling-down on privately using CollectionImpl directly. With this in mind, this ticket is no longer necessary. |