Julian Reschke created OAK-10660: ------------------------------------ Summary: DocumentNodeStore: avoid repeated commits of :childOrder in branch commits Key: OAK-10660 URL: https://issues.apache.org/jira/browse/OAK-10660 Project: Jackrabbit Oak Issue Type: Improvement Components: documentmk Reporter: Julian Reschke Assignee: Julian Reschke
- 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. -- This message was sent by Atlassian Jira (v8.20.10#820010)