Uploaded image for project: 'CMS'
  1. CMS
  2. CMS-12003

Unable to edit a composite field on a locked content

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Blocker Blocker
    • 4.8.0
    • 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

            cbayle Caroline Bayle
            laurence Laurence Aumeunier
            Caroline Bayle Caroline Bayle
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: