-
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