[MGNLEE-175] Launching flow failed - the item cannot be saved because it has been modified externally Created: 10/Feb/10  Updated: 17/Mar/10  Resolved: 17/Mar/10

Status: Closed
Project: Magnolia DX Core
Component/s: None
Affects Version/s: 3.0.1
Fix Version/s: None

Type: Bug Priority: Blocker
Reporter: Dave Whitla Assignee: Zdenek Skodik
Resolution: Outdated Votes: 0
Labels: exception, invalid, item, jackrabbit, state, workflow
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RHEL 4 + Java 1.4.2 + JBoss-4.0.5.GA + Magnolia Enterprise 3.0.1


Issue Links:
relation
is related to MAGNOLIA-2689 The item cannot be saved because it ... Closed
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
Date of First Response:

 Description   

Content editors are unable to activate content changes. The sequence is:
1. Edit existing page.
2. Click activate.
3. Activation failure is not reported in the UI but no email is sent to the next user in the approval workflow and the following stack trace appears in the server log:

2010-02-09 10:29:38,253 INFO [STDOUT] ERROR info.magnolia.module.workflow.WorkflowUtil WorkflowUtil.java(launchFlow:80) 09.02.2010 10:29:38 Launching flow failed
openwfe.org.engine.launch.LaunchException: launch failed
at openwfe.org.engine.impl.launch.SimpleXmlLauncher.launch(SimpleXmlLauncher.java:326)
at openwfe.org.engine.impl.launch.SimpleXmlLauncher.launch(SimpleXmlLauncher.java:122)
at openwfe.org.embed.impl.engine.AbstractEngine.launch(AbstractEngine.java:214)
at info.magnolia.module.workflow.WorkflowUtil.launchFlow(WorkflowUtil.java:77)
at info.magnolia.module.workflow.WorkflowUtil.launchFlow(WorkflowUtil.java:118)
at info.magnolia.module.workflow.commands.FlowCommand.execute(FlowCommand.java:57)
at info.magnolia.commands.MgnlCommand.executePooledOrSynchronized(MgnlCommand.java:141)
at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:128)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
at info.magnolia.cms.servlets.CommandBasedMVCServletHandler.execute(CommandBasedMVCServletHandler.java:78)
at info.magnolia.cms.servlets.MVCServlet.doPost(MVCServlet.java:111)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:88)
at info.magnolia.cms.filters.MgnlCmsFilter.doFilter(MgnlCmsFilter.java:103)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.cache.CacheFilter.doFilter(CacheFilter.java:96)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.filters.MgnlInterceptFilter.doFilter(MgnlInterceptFilter.java:132)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.filters.MgnlContextFilter.doFilter(MgnlContextFilter.java:45)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.security.SecurityFilter.doFilter(SecurityFilter.java:100)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.filters.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:80)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.filters.MgnlVirtualUriFilter.doFilter(MgnlVirtualUriFilter.java:83)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:66)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.enterprise.registration.RegistrationFilter.doFilter(RegistrationFilter.java:77)
at info.magnolia.cms.filters.MagnoliaManagedFilter$CustomFilterChain.doFilter(MagnoliaManagedFilter.java:92)
at info.magnolia.cms.filters.MagnoliaManagedFilter.doFilter(MagnoliaManagedFilter.java:65)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Caused by: openwfe.org.engine.expool.PoolException: storeExpression() store exception failed
at info.magnolia.module.workflow.jcr.JCRExpressionStore.storeExpression(JCRExpressionStore.java:122)
at openwfe.org.engine.impl.expool.SimpleExpressionPool.add(SimpleExpressionPool.java:349)
at openwfe.org.engine.impl.expool.CachedExpressionPool.add(CachedExpressionPool.java:155)
at openwfe.org.engine.impl.launch.SimpleXmlLauncher.launch(SimpleXmlLauncher.java:300)
... 55 more
Caused by: javax.jcr.InvalidItemStateException: 97c54973-b32c-4252-bef6-fff374eb3879: the item cannot be saved because it has been modified externally.
at org.apache.jackrabbit.core.ItemImpl.getTransientStates(ItemImpl.java:387)
at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1054)
at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:805)
at info.magnolia.cms.core.HierarchyManager.save(HierarchyManager.java:525)
at info.magnolia.module.workflow.jcr.JCRExpressionStore.storeExpression(JCRExpressionStore.java:114)
... 58 more

As indicated in the priority field this is a blocker for updates to our production site.



 Comments   
Comment by Dave Whitla [ 10/Feb/10 ]

As far as we know there are no other processes modifying the same JCR files. This appears to be exactly the same issue reported in MAGNOLIA-2689 which was closed without comment.

Comment by Zdenek Skodik [ 10/Feb/10 ]

Hi Dave,

please note that Magnolia 3.0.x is no longer supported (we can't consider it as bug).
As the EE customer you have access to support project, I've updated your account
with appropriate credentials so please move this ticket under support (such a issue
is then private and visible only for you (and persons you'll specify as watchers) and
our support team).
Otherwise the session handling was changed in Magnolia 3.5 so the newer versions
do not suffer from this problem. I should recommend you to update your instances
even into higher versions by which you'll gain a lot of improvements, features and bug
fixes - see release notes.
As an immediate solution, restart of your server should be enough to solve this problem.

Best regards,
Zdenek

Generated at Mon Feb 12 05:27:25 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.