-
Type: Improvement
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
Execution Team 2023-04-03, Execution Team 2023-04-17, Execution Team 2023-05-01, Execution Team 2023-05-15
As the implementation of Pre-image truncate markers gets merged. We want to start work on integrating them with the existing asynchronous remover process.
To this end, the following steps should guarantee proper initialisation:
- Inserters can create the CollectionTruncateMarkers instance if it doesn't exist
- Remover will start by scanning the pre-image collection and creating the CollectionTruncateMarkers instance
At this point the invariant of all pre-image collections present in the map will always hold.
- Remover will then sample the collection
- Remover will then block modifications of the map and perform the following:
- Create a set of initial truncate markers for each collection in the map based on the samples
- Replace the CollectionTruncateMarkers with a new instance containing the new set of initial markers for each collection
- Remover will then mark itself as having initialised the map.
With this series of steps we'll be able to guarantee that the map is fully initialised with proper metrics for all collections and without blocking anything except momentarily halting inserts to new collections that use pre-images.
- depends on
-
SERVER-75006 Add method to fully update read-copy-update map
- Closed
-
WT-10949 Allow truncate operation with no timestamp for non standalone builds
- Closed
- has to be done after
-
SERVER-76125 Make ChangeStreamPreImagesCollectionManager a ServiceContext decoration
- Closed
- is related to
-
WT-10887 Add a table configuration indicating that the table doesn't generate history data
- Closed