-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Since we have decided to always create the containers if they don't exist during stepup, container creation will exist where collection creation currently lives. To replicate container creation, we will introduce a new "initReplicatedFastCount" command oplog entry to create the metadata and timestamp containers on secondaries.
These two new containers will use hardcoded idents that will not be tracked in the catalog. These idents should conform to the structure of generated idents to avoid the special handling that exists for the sizeStorer and catalog idents. These should probably be "internal-" prefixed idents, however internal idents are currently dropped on startup so we will need to change that behavior to avoid dropping the fastcount containers.
To ensure durability, we will need to wait for majority write concern when creating the containers during stepup.
The existing collection inserts, deletes, and updates will be replaced with the container write path equivalents, including the newly implemented updates.
If there are a bunch of test failures after reaching e2e support, we can add an off by default parameter to use the containers instead of collections and fix the failures as a followup. If the tests pass, we can delete the collection implementation.
- depends on
-
SERVER-121789 Add update support to Containers
-
- In Code Review
-
-
SERVER-121765 Remove the Container API's dependence on collections
-
- Closed
-