Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
- While persisting the branch commits, we are persisting large :childOrder properties repeatedly. In practice, only the last value is needed, so the previous ones could be cleaned up.
- We currently do not keep information about when (revision) and where (_id) we have set :childOrder.
- The "clean" approach would be to maintain a map of _id/revision that tells us in which revision we last set :childOrder. That could be used to pair the setting of the new value with a removal of the previous one.
- But we may be able to simplify that: just maintain a list of all revisions that changed :childOrder, and any time we need to set a new value for :childOrder, nuke the entries for all of these revisions. This would be harmless because an extra REMOVE_MAP_ENTRY operation is essentially free, except fo ra small overhead in processing.
Attachments
Issue Links
- is related to
-
OAK-10657 MongoDocumentStore: shrink in-DB documents after updates fail due to 16MB limit
- Resolved
- relates to
-
OAK-10756 OrderableNodesTest.childOrderCleanupFeatureToggleTest fails with -Dnsfixtures=DOCUMENT_NS
- Resolved
- supercedes
-
OAK-10657 MongoDocumentStore: shrink in-DB documents after updates fail due to 16MB limit
- Resolved
- links to