[ 
https://issues.apache.org/jira/browse/OAK-3844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Sedding updated OAK-3844:
--------------------------------
    Attachment: OAK-3844-failing-test.patch

Thanks for the upate [~tomek.rekawek].

In the description you wrote:

bq. ... node with reported UUID has primary type inheriting from 
{{mix:versionable}} ...

Neither the test nor the fix address this aspect of the problem: how should we 
handle the situation, where removing {{mix:versionable}} is not possible?

[Attached is a patch|^OAK-3844-failing-test.patch], which I based on your 
patch. It changes the test case to use a custom (primary) node-type inheriting 
from {{mix:versionable}}. The test now fails.

I think we should address the issue where we cannot remove {{mix:versionable}} 
from a node. Maybe it's better to move that to a separate issue, however. WDYT?

> Better support for versionable nodes without version histories
> --------------------------------------------------------------
>
>                 Key: OAK-3844
>                 URL: https://issues.apache.org/jira/browse/OAK-3844
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: upgrade
>    Affects Versions: 1.3.13
>            Reporter: Tomek Rękawek
>            Assignee: Julian Sedding
>             Fix For: 1.4
>
>         Attachments: OAK-3844-failing-test.patch, OAK-3844.patch
>
>
> One of the customers reported following exception that has been thrown during 
> the migration:
> {noformat}
> Caused by: java.lang.IllegalStateException: This builder does not exist: 
> 95a5253f-d37b-4e88-a4b4-0721530344fc
>       at 
> com.google.common.base.Preconditions.checkState(Preconditions.java:150)
>       at 
> org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:506)
>       at 
> org.apache.jackrabbit.oak.plugins.memory.MemoryNodeBuilder.setProperty(MemoryNodeBuilder.java:522)
>       at 
> org.apache.jackrabbit.oak.upgrade.version.VersionableEditor.setVersionablePath(VersionableEditor.java:148)
>       at 
> org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStore.merge(SegmentNodeStore.java:226)
> ...
>       at 
> org.apache.jackrabbit.oak.upgrade.RepositoryUpgrade.copy(RepositoryUpgrade.java:486)
> {noformat}
> It seems that the node with reported UUID has primary type inheriting from 
> {{mix:versionable}}, but there is no appropriate version history in the 
> version storage.
> Obviously this means that there's something wrong with the repository. 
> However, I think that the migration process shouldn't fail, but proceed 
> silently.



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

Reply via email to