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]
