Description
For the MongoMK (as well as for other storage engines that are based on it), garbage collection is most easily implemented by iterating over all documents and removing unused entries (either whole documents, or data within the document).
Iteration can be done in parallel (for example one process per shard), and it can be done in any order.
The most efficient order is probably the id order; however, it might be better to iterate only over documents that were not changed recently, by using the index on the "_modified" property. That way we don't need to iterate over the whole repository over and over again, but just over those documents that were actually changed.
Attachments
Issue Links
- blocks
-
OAK-1560 Expose RevisionGCMBean for supported NodeStores
- Closed
- breaks
-
OAK-4372 VersionGarbageCollector uses more temporary memory than needed
- Closed
- is related to
-
OAK-1160 Generic interfaces for operation tasks
- Closed
- relates to
-
OAK-1158 MVCC old revision cleanup
- Resolved
- requires
-
OAK-1586 Implement checkpoint support in DocumentNodeStore
- Closed