Uploaded image for project: 'Content Editor'
  1. Content Editor
  2. CONTEDIT-99

When using chained actions and verification of save fails subsequent activation will still be triggered and fail

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • 1.0.6
    • None
    • None

      Scenario:

      1. Edit a new article
      2. Produce invalid outline/blocks
      3. Hit chained action "Save & publish"
      4. See how it fails

      This is due to the fact that the save action will not stop exectuion of subsequent actions in the chain when validation fail. When editing a new article – therefore no node exists – activation will fail with an exception:

      2017-04-05 14:46:15,206 ERROR info.magnolia.module.activation.ReceiveFilter     : invalid identifier:
      javax.jcr.RepositoryException: invalid identifier:
          at org.apache.jackrabbit.core.SessionImpl.getNodeByIdentifier(SessionImpl.java:1138)
          at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
          at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
          at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
          at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
          at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
          at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
          at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
          at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
          at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
          at info.magnolia.jcr.wrapper.DelegateSessionWrapper.getNodeByIdentifier(DelegateSessionWrapper.java:182)
          at info.magnolia.jcr.decoration.ContentDecoratorSessionWrapper.getNodeByIdentifier(ContentDecoratorSessionWrapper.java:129)
          at info.magnolia.cms.core.DefaultHierarchyManager.getContentByUUID(DefaultHierarchyManager.java:417)
          at info.magnolia.module.activation.ReceiveFilter.getContent(ReceiveFilter.java:420)
          at info.magnolia.module.exchangetransactional.XAReceiveFilter.update(XAReceiveFilter.java:199)
          at info.magnolia.module.exchangetransactional.XAReceiveFilter.receive(XAReceiveFilter.java:149)
          at info.magnolia.module.activation.ReceiveFilter.doFilter(ReceiveFilter.java:222)
          at info.magnolia.module.exchangetransactional.XAReceiveFilter.doFilter(XAReceiveFilter.java:104)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:127)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:64)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
          at info.magnolia.cms.filters.CosMultipartRequestFilter.doFilter(CosMultipartRequestFilter.java:110)
          at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.personalization.preview.filter.PreviewFilter.doFilter(PreviewFilter.java:92)
          at info.magnolia.cms.filters.OncePerRequestAbstractMgnlFilter.doFilter(OncePerRequestAbstractMgnlFilter.java:59)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:81)
          at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:155)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.cms.filters.ContextFilter.doFilter(ContextFilter.java:128)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
          at info.magnolia.cms.filters.MgnlFilterChain.doFilter(MgnlFilterChain.java:79)
          at info.magnolia.cms.filters.CompositeFilter.doFilter(CompositeFilter.java:65)
          at info.magnolia.cms.filters.AbstractMgnlFilter.doFilter(AbstractMgnlFilter.java:85)
          at info.magnolia.cms.filters.SafeDestroyMgnlFilterWrapper.doFilter(SafeDestroyMgnlFilterWrapper.java:107)
          at info.magnolia.cms.filters.MgnlFilterDispatcher.doDispatch(MgnlFilterDispatcher.java:67)
          at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:108)
          at info.magnolia.cms.filters.MgnlMainFilter.doFilter(MgnlMainFilter.java:94)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:108)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
          at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
          at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
          at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
          at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
          at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IllegalArgumentException:
          at org.apache.jackrabbit.core.id.NodeId.<init>(NodeId.java:129)
          at org.apache.jackrabbit.core.id.NodeId.valueOf(NodeId.java:52)
          at org.apache.jackrabbit.core.SessionImpl.getNodeByIdentifier(SessionImpl.java:1136)
          ... 66 more
      2017-04-05 14:46:15,213 ERROR dule.exchangetransactional.TransactionalSyndicator: Failed to activate content.
      info.magnolia.cms.exchange.ExchangeException: Message received from subscriber: invalid identifier:
          at info.magnolia.module.activation.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:436)
          at info.magnolia.module.exchangetransactional.TransactionalSyndicator$2.run(TransactionalSyndicator.java:201)
          at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Thread.java:745)
      2017-04-05 14:46:15,214 ERROR dule.exchangetransactional.TransactionalSyndicator: Message received from subscriber: invalid identifier:
      info.magnolia.cms.exchange.ExchangeException: Message received from subscriber: invalid identifier:
          at info.magnolia.module.activation.BaseSyndicatorImpl.activate(BaseSyndicatorImpl.java:436)
          at info.magnolia.module.exchangetransactional.TransactionalSyndicator$2.run(TransactionalSyndicator.java:201)
          at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source)
          at java.lang.Thread.run(Thread.java:745)
      

        Acceptance criteria

              creichenbach Cedric Reichenbach
              pmundt Philip Mundt
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved:

                  Bug DoR
                  Task DoD