Hello,

one of our customers tries to perform a repeated upgrade [1], using a JCR2+S3 
repository as a source. The repository is large and the migration process 
spends most of the time communicating with S3. It seems that besides from 
copying the new content, it gets the S3 metadata of each already migrated 
binary. The cause lies in the AbstractBlob#equal(Blob a, Blob b) method, which 
first compares the lengths of the binaries and then their identities. The 
S3DataStore gets the length from the remote service, so the equal() is quite 
slow.

I wonder if we can switch the order of length and identity comparison in 
AbstractBlob#equal() method. Is there any case in which the 
getContentIdentity() method will be slower than length()?

Best regards,
Tomek

[1] https://issues.apache.org/jira/browse/OAK-2619

-- 
Tomek Rękawek | Adobe Research | www.adobe.com
[email protected]

Reply via email to