jackrabbit-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tobias Bocanegra (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (JCRVLT-128) System maintained cache nodes should be ignored
Date Wed, 28 Sep 2016 14:02:20 GMT

    [ https://issues.apache.org/jira/browse/JCRVLT-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15529718#comment-15529718

Tobias Bocanegra commented on JCRVLT-128:

my fix exactly fixes the update case :-) but I would like to create a test for it. for that
I need to create a test user with a {{rep:cache}} node. any hints on how to do this?

> System maintained cache nodes should be ignored
> -----------------------------------------------
>                 Key: JCRVLT-128
>                 URL: https://issues.apache.org/jira/browse/JCRVLT-128
>             Project: Jackrabbit FileVault
>          Issue Type: Bug
>    Affects Versions: 3.1.28
>            Reporter: Tommaso Teofili
>            Assignee: Tobias Bocanegra
>         Attachments: JCRVLT-128.0.patch
> In OAK-3003 a persisted [principal cache|http://jackrabbit.apache.org/oak/docs/security/principal/cache.html]
was introduced that creates _rep:cache_ nodes under authorizables.
> Creating a package for such authorizables will result in including the cache node in
there, which sounds wrong as that node is an implementation detail which doesn't make sense
to install anywhere; however that can be avoided by proper filters.
> What is problematic is the installation phase, if an authorizable gets packaged with
FileVault (no rep:cache in the package) and the target user/group has a rep:cache node itself
the importer will try (and fail as it's protected) to delete the persisted cache node if ImportMode
is set to UPDATE.
> In my opinion this is wrong, it should be possible to not touch such nodes on package
installation, regardless of the chosen ImportMode.
> {noformat}
> org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage Error during install.
> javax.jcr.nodetype.ConstraintViolationException: OakConstraint0034: Attempt to create
or change the system maintained cache.
> 	at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:225)
> 	at org.apache.jackrabbit.oak.api.CommitFailedException.asRepositoryException(CommitFailedException.java:212)
> 	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.newRepositoryException(SessionDelegate.java:670)
> 	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.save(SessionDelegate.java:496)
> 	at org.apache.jackrabbit.oak.jcr.session.SessionImpl$8.performVoid(SessionImpl.java:419)
> 	at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.performVoid(SessionDelegate.java:274)
> 	at org.apache.jackrabbit.oak.jcr.session.SessionImpl.save(SessionImpl.java:416)
> 	at org.apache.jackrabbit.vault.fs.io.AutoSave.save(AutoSave.java:175)
> 	at org.apache.jackrabbit.vault.fs.io.Importer.run(Importer.java:416)
> 	at org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:234)
> 	at org.apache.jackrabbit.vault.packaging.impl.ZipVaultPackage.extract(ZipVaultPackage.java:153)
> {noformat}

This message was sent by Atlassian JIRA

View raw message