You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2019/05/08 08:26:00 UTC

[jira] [Updated] (OAK-8304) VersionablePathHook: Diff.setVersionablePath never results in CommitFailedException

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

angela updated OAK-8304:
------------------------
    Attachment: OAK-8304.patch

> VersionablePathHook: Diff.setVersionablePath never results in CommitFailedException
> -----------------------------------------------------------------------------------
>
>                 Key: OAK-8304
>                 URL: https://issues.apache.org/jira/browse/OAK-8304
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core, security
>            Reporter: angela
>            Assignee: angela
>            Priority: Major
>         Attachments: OAK-8304.patch
>
>
> I tried to come up with a test case that would result in the {{VersionablePathHook}} running into a {{CommitFailedException}} upon accessing the version history and found out that this will never occur. In other words, the whole logic to collection {{CommitFailedException}} in {{VersionablePathHook}} is redundant.
> What I found was that {{ReadWriteVersionManager.getOrCreateVersionHistory}} is defined to potentially throw the exception on calling {{createVersion}}, which is only triggered if the version history node contains no {{jcr:rootVersion}} child. However, {{createVersion}} will never throw  {{CommitFailedException}} if the root version is created as the exception may only occur upon populating the {{jcr:frozenNode}}. 
> Long story short: introducing {{ReadWriteVersionManager.createRootVersion}} and calling it from {{getOrCreateVersionHistory}} would simplify {{createVersion}}, make the exception declaration redundant and spare us the unused but prominent exception handling code in {{VersionablePathHook}}.
> [~stillalex], [~mreutegg], i would appreciate if you could review the proposed changes to {{VersionablePathHook}} and {{ReadWriteVersionManager}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)