Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-75005

Integrate pre-image collection removal with new truncate mechanism

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • 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.

            Assignee:
            haley.connelly@mongodb.com Haley Connelly
            Reporter:
            jordi.olivares-provencio@mongodb.com Jordi Olivares Provencio
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: