ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bala ajanthan <balaajant...@gmail.com>
Subject Exception While Calling Process with Instance Clean Up Configuration
Date Wed, 18 Sep 2013 12:39:11 GMT
Hi devs,
I am getting following exception[0] while calling a BPEL process(with
couple of partner services) with instance clean up enabled on success with
all categories(instance,variables,correlations,events and messages) .

If I remove messages from the configuration it is working with out the
exception.

As I dig into the code more I found out that the MessageExchange is deleted
whenever INVOKE activity finished[1] but.When ever the instance is
persisted before cleaning up, the above exception is thrown because of
MessageExchange is deleted.

Is it correct to delete the message exchange whenever INVOKE activity
finishes even-though the whole process still running and we do not know the
status(success or failure) of the process yet?
Or else am I missing something here?Can you please somebody clear it for
me?

Thanks.

[0]DEBUG {org.apache.ode.scheduler.simple.SimpleScheduler} -  Commiting on
org.apache.geronimo.transaction.manager.GeronimoTransactionManager@579a19fd...
{org.apache.ode.scheduler.simple.SimpleSchedule
r}
 WARN {Transaction} -  Unexpected exception from beforeCompletion;
transaction will roll back {Transaction}
<openjpa-2.2.0-wso2v1-r128166:129108 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: Encountered deleted
object "org.apache.ode.dao.jpa.MessageExchangeDAOImpl@7abdd25" in
persistent field "org.apache.ode.dao.jpa.Proc
essInstanceDAOImpl._messageExchanges<element:class
org.apache.ode.dao.jpa.MessageExchangeDAOImpl>" of managed object
"org.apache.ode.dao.jpa.ProcessInstanceDAOImpl@6b527dc6" during flush.
FailedObject: org.apache.ode.dao.jpa.MessageExchangeDAOImpl@7abdd25
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:817)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlushPCs(SingleFieldManager.java:762)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:664)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
        at
org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2982)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlushPC(SingleFieldManager.java:808)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:621)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:589)
        at
org.apache.openjpa.kernel.SingleFieldManager.preFlush(SingleFieldManager.java:505)
        at
org.apache.openjpa.kernel.StateManagerImpl.preFlush(StateManagerImpl.java:2982)
        at
org.apache.openjpa.kernel.PDirtyState.beforeFlush(PDirtyState.java:38)
        at
org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(StateManagerImpl.java:1054)
        at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2112)
        at
org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2072)
        at
org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1990)
        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:514)
        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforeCompletion(TransactionImpl.java:498)
        at
org.apache.geronimo.transaction.manager.TransactionImpl.beforePrepare(TransactionImpl.java:400)
        at
org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:257)
        at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:238)
        at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:278)
        at
org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleScheduler.java:226)
        at
org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:518)
        at
org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleScheduler.java:502)
        at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)
[1]
https://github.com/apache/ode/blob/master/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.javaline
number 166
-- 
Balachandiran Ajanthan
Phone:+94775581497
Blog   : http://ajanthan87.blogspot.com
Twitter: ajanthan87
skype  :bala.ajanthan
gtalk   :balaajanthan

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message