Absent Member.
Absent Member.

Error persisting activity state - Unable Start a workflow

Hi guys,

we have an UserApp cluster (4.5.4 Build Revision 42545) with 2 nodes (Tomcat 7.0.55) and a single Postgres DB (9.3.4).
When all UserApp are running, sometime we encounter this error:

2017-07-06 09:33:47,791 [pool-3-thread-6] ERROR com.novell.soa.af.impl.core.ProcessImpl- [RBPM] Process requestId [4d50e0ca755b484598526c3f684bebe8], Id [cn=blablabla,cn=RequestDefs,cn=AppConfig,cn=UserApplication,cn=Driver Set,o=services], activityId [Start]: Error persisting activity state, scheduling activity for retry.
com.novell.soa.af.impl.activity.ActivityPersistenceException: Activity Id [Start]: Error persisting activity state.
at com.novell.soa.af.impl.activity.ActivityNode.persistStatus(ActivityNode.java:582)
at com.novell.soa.af.impl.activity.ActivityNode.process(ActivityNode.java:218)
at com.novell.soa.af.impl.activity.StartActivity.process(StartActivity.java:70)
at com.novell.soa.af.impl.activity.ActivityNode.notifyArrive(ActivityNode.java:206)
at com.novell.soa.af.impl.activity.RunnableActivity.run(RunnableActivity.java:50)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.netiq.persist.PersistenceException: com.netiq.persist.PersistenceException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.novell.soa.af.impl.persist.ActivityStatusInfo#requestId = [4d50e0ca755b484598526c3f684bebe8] activityId = [Start]]
at com.netiq.persist.HibernateDAO.saveOrUpdate(HibernateDAO.java:101)
at com.netiq.persist.HibernateDAO.saveOrUpdate(HibernateDAO.java:71)
at com.novell.soa.af.impl.persist.ActivityStatusInfo.update(ActivityStatusInfo.java:271)
at com.novell.soa.af.impl.activity.ActivityNode.persistStatus(ActivityNode.java:565)
... 7 more
Caused by: com.netiq.persist.PersistenceException: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.novell.soa.af.impl.persist.ActivityStatusInfo#requestId = [4d50e0ca755b484598526c3f684bebe8] activityId = [Start]]
at com.netiq.persist.HibernateUtil.commit(HibernateUtil.java:249)
at com.netiq.persist.HibernateDAO.commit(HibernateDAO.java:502)
at com.netiq.persist.HibernateDAO.saveOrUpdate(HibernateDAO.java:91)
... 10 more
Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [com.novell.soa.af.impl.persist.ActivityStatusInfo#requestId = [4d50e0ca755b484598526c3f684bebe8] activityId = [Start]]
at org.hibernate.persister.entity.AbstractEntityPersister.check(AbstractEntityPersister.java:1950)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2594)
at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:2494)
at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:2821)
at org.hibernate.action.EntityUpdateAction.execute(EntityUpdateAction.java:113)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:273)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:265)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:185)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1216)
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:383)
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:133)
at com.netiq.persist.HibernateUtil.commit(HibernateUtil.java:247)
... 12 more

Request doesn't start and we lost all info.
If only 1 UserApp is up, everything works fine.
Which configuration can I check in the cluster?

Labels (1)
4 Replies
Absent Member.
Absent Member.


It appears that in the past few days you have not received a response to your
posting. That concerns us, and has triggered this automated reply.

These forums are peer-to-peer, best effort, volunteer run and that if your issue
is urgent or not getting a response, you might try one of the following options:

- Visit https://www.microfocus.com/support-and-services and search the knowledgebase and/or check
all the other self support options and support programs available.
- Open a service request: https://www.microfocus.com/support
- You could also try posting your message again. Make sure it is posted in the
correct newsgroup. (http://forums.microfocus.com)
- You might consider hiring a local partner to assist you.

Be sure to read the forum FAQ about what to expect in the way of responses:

Sometimes this automatic posting will alert someone that can respond.

If this is a reply to a duplicate posting or otherwise posted in error, please
ignore and accept our apologies and rest assured we will issue a stern reprimand
to our posting bot.

Good luck!

Your Micro Focus Forums Team

Absent Member.
Absent Member.

Someone can help me?
Vice Admiral
Vice Admiral

Don't really have much to offer here but some general advice...definitely seems database related. Make sure your JDBC driver is compatible with the version of the server.

One User App driver? One RRSD driver?

Are the two instances of Tomcat front-ended by a load balancer? If so, look to configure the sessions to be sticky, bouncing back and forth between instances could cause some issues like this...

Some background info on how PostGRE handles concurrency (not a solution but maybe some understanding of the challenge)

An alternative database server?
Absent Member.
Absent Member.

Is the cluster correctly installed with single master-key? Do both instances have unique engine-id in setenv script? No errors in log about nodes out of synchro?
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.