[CONTLOCK-11] ActionExecutionException when lock owner tries to alter a locked node Created: 07/Feb/24 Updated: 07/Feb/24 |
|
| Status: | Open |
| Project: | Content Locking |
| Component/s: | None |
| Affects Version/s: | 2.0.2 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Neutral |
| Reporter: | Richard Gange | Assignee: | Richard Gange |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoD: |
[ ]*
Doc/release notes changes? Comment present?
[ ]*
Downstream builds green?
[ ]*
Solution information and context easily available?
[ ]*
Tests
[ ]*
FixVersion filled and not yet released
[ ] 
Architecture Decision Record (ADR)
|
| Bug DoR: |
[ ]*
Steps to reproduce, expected, and actual results filled
[ ]*
Affected version filled
|
| 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 |