You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (Jira)" <ji...@apache.org> on 2024/02/23 12:39:00 UTC

[jira] [Created] (OAK-10660) DocumentNodeStore: avoid repeated commits of :childOrder in branch commits

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)