-
Bug
-
Resolution: Fixed
-
Blocker
-
None
-
None
-
None
-
4.8.0 M10
How to reproduce:
- The content should locked by current user (open content in edition for example)
- In a other window, select the content in a search grid (check content is marked as locked)
- Try to do action that edit a composite node: in ODF change the MCC or pilotage status that do a setValue or removeValue on a composite field
The action failed with following error
Node locked. javax.jcr.lock.LockException: Node locked. at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:694) at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:670) at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:655) at org.apache.jackrabbit.core.lock.XALockManager.checkLock(XALockManager.java:174) at org.apache.jackrabbit.core.ItemValidator.checkLock(ItemValidator.java:367) at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:288) at org.apache.jackrabbit.core.ItemValidator.checkModify(ItemValidator.java:248) at org.apache.jackrabbit.core.VersionManagerImpl.getNodeState(VersionManagerImpl.java:637) at org.apache.jackrabbit.core.VersionManagerImpl.getNodeState(VersionManagerImpl.java:622) at org.apache.jackrabbit.core.VersionManagerImpl.access$000(VersionManagerImpl.java:73) at org.apache.jackrabbit.core.VersionManagerImpl$3.perform(VersionManagerImpl.java:157) at org.apache.jackrabbit.core.VersionManagerImpl$3.perform(VersionManagerImpl.java:154) at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) at org.apache.jackrabbit.core.VersionManagerImpl.perform(VersionManagerImpl.java:96) at org.apache.jackrabbit.core.VersionManagerImpl.checkpoint(VersionManagerImpl.java:154) at org.ametys.plugins.repository.jcr.DefaultAmetysObject.checkpoint(DefaultAmetysObject.java:135)
Technical analysis
- _ckeckLock is done on composite node that is not locked because lock on content is not deep (since
CMS-5504) - chekpoint() on content node failed when saving because the lock token was not added to content node but composite node