Uploaded image for project: 'Content Locking'
  1. Content Locking
  2. CONTLOCK-11

ActionExecutionException when lock owner tries to alter a locked node

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Neutral
    • None
    • 2.0.2
    • None

    Description

      When a node is locked the token is removed from the session and stored in the contentLocks workspace. This means the session won't have the token or write privileges to the locked node. When attempting to make a change to the data you hit an ActionExecutionException caused by javax.jcr.lock.LockException - Node locked.

      2024-02-07 14:30:07,432 ERROR nolia.ui.contentapp.browser.ActionExecutionService: An error occurred while executing action [commit]
      info.magnolia.ui.api.action.ActionExecutionException: Action execution failed for action: commit
      	at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:64) ~[magnolia-ui-api-6.2.42.jar:?]
      	at info.magnolia.ui.contentapp.browser.ActionExecutionService.executeAction(ActionExecutionService.java:70) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.framework.action.service.CompatibilityActionExecutionService.executeAction(CompatibilityActionExecutionService.java:129) ~[magnolia-ui-framework-compatibility-6.2.42.jar:?]
      	at info.magnolia.ui.dialog.ActionExecution.execute(ActionExecution.java:74) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.dialog.ActionButton.lambda$new$d31ec881$1(ActionButton.java:65) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_331]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_331]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_331]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_331]
      	at com.vaadin.event.ListenerMethod.receiveEvent(ListenerMethod.java:706) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:399) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.event.EventRouter.fireEvent(EventRouter.java:363) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.AbstractClientConnector.fireEvent(AbstractClientConnector.java:1190) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.ui.Button.fireClick(Button.java:384) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.ui.Button$1.click(Button.java:57) [vaadin-server-8.15.2.jar:8.15.2]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_331]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_331]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_331]
      	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_331]
      	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:155) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.ServerRpcManager.applyInvocation(ServerRpcManager.java:116) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.communication.ServerRpcHandler.handleInvocation(ServerRpcHandler.java:447) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:412) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:275) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:91) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:40) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1637) [vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:464) [vaadin-server-8.15.2.jar:8.15.2]
      	at info.magnolia.admincentral.AdmincentralServlet.service(AdmincentralServlet.java:147) [magnolia-admincentral-6.2.36.jar:?]
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) [servlet-api.jar:4.0.FR]
      	at info.magnolia.cms.filters.ServletDispatchingFilter.doFilter(ServletDispatchingFilter.java:148) [magnolia-core-6.2.42.jar:?]
      	...
      	...
      	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_331]
      Caused by: com.machinezoo.noexception.WrappedException: javax.jcr.lock.LockException: Node locked.
      	at com.machinezoo.noexception.WrappingHandler.handle(WrappingHandler.java:12) ~[noexception-1.6.2.jar:?]
      	at com.machinezoo.noexception.CheckedExceptionHandler.run(CheckedExceptionHandler.java:1810) ~[noexception-1.6.2.jar:?]
      	at info.magnolia.ui.editor.JcrItemInteractionStrategyImpl$WithNodes.set(JcrItemInteractionStrategyImpl.java:155) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at info.magnolia.ui.editor.JcrItemInteractionStrategyImpl$WithNodes.set(JcrItemInteractionStrategyImpl.java:122) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at info.magnolia.ui.editor.JcrItemPropertySet$JcrItemPropertyDefinition.lambda$getSetter$8b09dfec$1(JcrItemPropertySet.java:460) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at com.vaadin.data.Binder$BindingImpl.lambda$writeFieldValue$22abd369$1(Binder.java:1316) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.SimpleResult.handle(SimpleResult.java:78) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.ValidationResultWrap.handle(ValidationResultWrap.java:82) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Result.ifOk(Result.java:146) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder$BindingImpl.writeFieldValue(Binder.java:1315) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder$BindingImpl.access$1600(Binder.java:1095) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder.lambda$doWriteDraft$6(Binder.java:2105) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_331]
      	at com.vaadin.data.Binder.doWriteDraft(Binder.java:2104) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder.writeBeanAsDraft(Binder.java:1981) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at info.magnolia.ui.editor.FormPresenter.lambda$writeBindings$6(FormPresenter.java:150) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at java.util.HashMap.forEach(HashMap.java:1290) ~[?:1.8.0_331]
      	at info.magnolia.ui.editor.FormPresenter.writeBindings(FormPresenter.java:148) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.editor.FormView.write(FormView.java:164) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.contentapp.action.CommitAction.lambda$write$0(CommitAction.java:125) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at java.util.Optional.ifPresent(Optional.java:159) ~[?:1.8.0_331]
      	at info.magnolia.ui.contentapp.action.CommitAction.write(CommitAction.java:124) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.contentapp.action.CommitAction.execute(CommitAction.java:84) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:62) ~[magnolia-ui-api-6.2.42.jar:?]
      	... 134 more
      Caused by: javax.jcr.lock.LockException: Node locked.
      	at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:694) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:670) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.lock.LockManagerImpl.checkLock(LockManagerImpl.java:655) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.lock.XALockManager.checkLock(XALockManager.java:174) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.ItemValidator.checkLock(ItemValidator.java:367) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.ItemValidator.checkCondition(ItemValidator.java:288) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.ItemValidator.checkModify(ItemValidator.java:248) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.NodeImpl.checkSetProperty(NodeImpl.java:984) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.NodeImpl$SetPropertyOperation.perform(NodeImpl.java:2047) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.NodeImpl$SetPropertyOperation.perform(NodeImpl.java:2002) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1924) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at org.apache.jackrabbit.core.NodeImpl.setProperty(NodeImpl.java:1894) ~[jackrabbit-core-2.20.13.jar:2.20.13]
      	at info.magnolia.jcr.wrapper.DelegateNodeWrapper.setProperty(DelegateNodeWrapper.java:399) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.setProperty(ContentDecoratorNodeWrapper.java:265) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.wrapper.DelegateNodeWrapper.setProperty(DelegateNodeWrapper.java:399) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.setProperty(ContentDecoratorNodeWrapper.java:265) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.wrapper.DelegateNodeWrapper.setProperty(DelegateNodeWrapper.java:399) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.setProperty(ContentDecoratorNodeWrapper.java:265) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.wrapper.MgnlPropertySettingNodeWrapper.setProperty(MgnlPropertySettingNodeWrapper.java:146) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.wrapper.DelegateNodeWrapper.setProperty(DelegateNodeWrapper.java:399) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.setProperty(ContentDecoratorNodeWrapper.java:265) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.audit.MgnlAuditLoggingContentDecoratorNodeWrapper.setProperty(MgnlAuditLoggingContentDecoratorNodeWrapper.java:140) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.wrapper.DelegateNodeWrapper.setProperty(DelegateNodeWrapper.java:399) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.setProperty(ContentDecoratorNodeWrapper.java:265) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.wrapper.DelegateNodeWrapper.setProperty(DelegateNodeWrapper.java:399) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.decoration.ContentDecoratorNodeWrapper.setProperty(ContentDecoratorNodeWrapper.java:265) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.jcr.util.PropertyUtil.setProperty(PropertyUtil.java:122) ~[magnolia-core-6.2.42.jar:?]
      	at info.magnolia.ui.editor.JcrItemInteractionStrategyImpl.setPropertyValue(JcrItemInteractionStrategyImpl.java:95) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at info.magnolia.ui.editor.JcrItemInteractionStrategyImpl$WithNodes.lambda$set$2(JcrItemInteractionStrategyImpl.java:159) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at com.machinezoo.noexception.CheckedExceptionHandler.run(CheckedExceptionHandler.java:1806) ~[noexception-1.6.2.jar:?]
      	at info.magnolia.ui.editor.JcrItemInteractionStrategyImpl$WithNodes.set(JcrItemInteractionStrategyImpl.java:155) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at info.magnolia.ui.editor.JcrItemInteractionStrategyImpl$WithNodes.set(JcrItemInteractionStrategyImpl.java:122) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at info.magnolia.ui.editor.JcrItemPropertySet$JcrItemPropertyDefinition.lambda$getSetter$8b09dfec$1(JcrItemPropertySet.java:460) ~[magnolia-ui-framework-jcr-6.2.42.jar:?]
      	at com.vaadin.data.Binder$BindingImpl.lambda$writeFieldValue$22abd369$1(Binder.java:1316) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.SimpleResult.handle(SimpleResult.java:78) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.ValidationResultWrap.handle(ValidationResultWrap.java:82) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Result.ifOk(Result.java:146) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder$BindingImpl.writeFieldValue(Binder.java:1315) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder$BindingImpl.access$1600(Binder.java:1095) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder.lambda$doWriteDraft$6(Binder.java:2105) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at java.util.ArrayList.forEach(ArrayList.java:1259) ~[?:1.8.0_331]
      	at com.vaadin.data.Binder.doWriteDraft(Binder.java:2104) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at com.vaadin.data.Binder.writeBeanAsDraft(Binder.java:1981) ~[vaadin-server-8.15.2.jar:8.15.2]
      	at info.magnolia.ui.editor.FormPresenter.lambda$writeBindings$6(FormPresenter.java:150) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at java.util.HashMap.forEach(HashMap.java:1290) ~[?:1.8.0_331]
      	at info.magnolia.ui.editor.FormPresenter.writeBindings(FormPresenter.java:148) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.editor.FormView.write(FormView.java:164) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.contentapp.action.CommitAction.lambda$write$0(CommitAction.java:125) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at java.util.Optional.ifPresent(Optional.java:159) ~[?:1.8.0_331]
      	at info.magnolia.ui.contentapp.action.CommitAction.write(CommitAction.java:124) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.contentapp.action.CommitAction.execute(CommitAction.java:84) ~[magnolia-ui-framework-6.2.42.jar:?]
      	at info.magnolia.ui.api.action.AbstractActionExecutor.execute(AbstractActionExecutor.java:62) ~[magnolia-ui-api-6.2.42.jar:?]
      	... 134 more
      

      Checklists

        Acceptance criteria

        Attachments

          Activity

            People

              rgange Richard Gange
              rgange Richard Gange
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Checklists

                  Bug DoR
                  Task DoD