[ 
https://issues.apache.org/jira/browse/OAK-2626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14547788#comment-14547788
 ] 

Julian Sedding commented on OAK-2626:
-------------------------------------

[~chetanm] The idea here is indeed to avoid FileSystem access. In 
{{FileDataStore#getRecordIfStored()}} a call to {{File.exists()}} is done. In 
the upgrade scenario that turned out to take significant time on my Mac Book 
Pro with SSD. The logic in this patch bypasses FS access and reduces it to a 
string operation. I intended to make any reliance on implementation details 
optional. So the logic should fall back to public APIs if the optimization 
fails.

This is especially interesting when re-running an upgrade with few changes to 
the source content, i.e. an incremental upgrade (which requires some of my 
other patches).

> Optimize binary comparison for merge during upgrade 
> ----------------------------------------------------
>
>                 Key: OAK-2626
>                 URL: https://issues.apache.org/jira/browse/OAK-2626
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: upgrade
>    Affects Versions: 1.1.7
>            Reporter: Julian Sedding
>            Priority: Minor
>         Attachments: OAK-2626.patch, incremental-upgrade-no-changes.png
>
>
> In OAK-2619 I propose to support repeated upgrades into the same NodeStore.
> This issue does not optimizate the first run, but any subsequent run benefits 
> from the proposed changes.
> One use-case for this feature is to import all content several days before 
> the upgrade and then copy only the delta on the day of the upgrade.
> Assuming that both the source and target repositories use the same 
> FileDataStore, binaries could be efficiently compared by their references.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to