[jira] [Commented] (OAK-6066) Migration of binaries relies on implementation details of the TarMK

2017-11-20 Thread JIRA

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

Tomek Rękawek commented on OAK-6066:


Fixed for trunk in [r1815789|https://svn.apache.org/r1815789].

> Migration of binaries relies on implementation details of the TarMK
> ---
>
> Key: OAK-6066
> URL: https://issues.apache.org/jira/browse/OAK-6066
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Reporter: Michael Dürig
>Assignee: Tomek Rękawek
>  Labels: migration, tooling
> Fix For: 1.8, 1.7.12
>
> Attachments: OAK_6066.patch
>
>
> This was uncovered with the work on OAK-6051.
> On {{NodeStore.merge()}} the TarMK uses {{SegmentNodeState#fastEquals}} to 
> efficiently determine whether there is something to commit and whether the 
> base state changed since the builder about to commit was acquired. For 
> efficiency reasons {{fastEquals}} can return "false negatives". AFAIU 
> migration of binaries depends on this implementation detail because without 
> this optimisation migration fails. ({{SegmentToExternalMigrationTest}} and 
> {{ExternalToExternalMigrationTest}} fail). 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (OAK-6066) Migration of binaries relies on implementation details of the TarMK

2017-11-16 Thread JIRA

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

Michael Dürig commented on OAK-6066:


[~tomek.rekawek], could you help triaging this one? Is this something that 
needs to be addressed for 1.8? What is the risk of not doing anything?

> Migration of binaries relies on implementation details of the TarMK
> ---
>
> Key: OAK-6066
> URL: https://issues.apache.org/jira/browse/OAK-6066
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Reporter: Michael Dürig
>  Labels: migration, tooling
> Fix For: 1.8
>
> Attachments: OAK_6066.patch
>
>
> This was uncovered with the work on OAK-6051.
> On {{NodeStore.merge()}} the TarMK uses {{SegmentNodeState#fastEquals}} to 
> efficiently determine whether there is something to commit and whether the 
> base state changed since the builder about to commit was acquired. For 
> efficiency reasons {{fastEquals}} can return "false negatives". AFAIU 
> migration of binaries depends on this implementation detail because without 
> this optimisation migration fails. ({{SegmentToExternalMigrationTest}} and 
> {{ExternalToExternalMigrationTest}} fail). 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (OAK-6066) Migration of binaries relies on implementation details of the TarMK

2017-04-11 Thread JIRA

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

Michael Dürig commented on OAK-6066:


[^OAK_6066.patch] exemplifies the problem: with these seemingly harmless 
(though useless) changes 
{{AbstractMigratorTest.blobsExistsOnTheNewBlobStore()}} fails. The reason for 
this is that with the patch the commit is not a simple fast forward but needs 
to go through rebasing (if vs. else branch in {{Commit.apply()}}). When 
rebasing full structural equality is employed, which doesn't see the "false 
negatives" from {{fastEquals()}}.

> Migration of binaries relies on implementation details of the TarMK
> ---
>
> Key: OAK-6066
> URL: https://issues.apache.org/jira/browse/OAK-6066
> Project: Jackrabbit Oak
>  Issue Type: Bug
>  Components: upgrade
>Reporter: Michael Dürig
>  Labels: migration
> Fix For: 1.8
>
> Attachments: OAK_6066.patch
>
>
> This was uncovered with the work on OAK-6051.
> On {{NodeStore.merge()}} the TarMK uses {{SegmentNodeState#fastEquals}} to 
> efficiently determine whether there is something to commit and whether the 
> base state changed since the builder about to commit was acquired. For 
> efficiency reasons {{fastEquals}} can return "false negatives". AFAIU 
> migration of binaries depends on this implementation detail because without 
> this optimisation migration fails. ({{SegmentToExternalMigrationTest}} and 
> {{ExternalToExternalMigrationTest}} fail). 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)