Some 'more, in-depth' information on Oracle BPEL PM, ESB and other SOA, day2day things

Saturday, April 15, 2006

BPEL: The infamous exception (2) - Transaction was rolled back: timed out;

From time to time I read comments and questions about the phenomenon of getting the following exception:

<2006-04-14 15:54:01,926> Failed to handle dispatch message
... exception ORABPEL-05002

Message handle error.

An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.domain.RecoverMessage"; the exception
is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception:
No Exception - originate from:; nested exception is:

java.lang.Exception: No Exception - originate from:

ORABPEL-05002


These days, to get you a usecase, I saw it on the Oracle BPEL Forums.

What does this strange thing mean?
Basically it tells the user that a JTA transaction within the server took longer, than its maximum configured time (and I agree scrolling through a ton of stack lines is not too cool).

Hmm, again?
your process may represent one or more transactions (each with a commit at the end), and each of these take a certain amount of time. When one takes longer (eg. there is just one commit point at the end) - and it takes longer than the time specified, the container throws this exception

ok, lets take a look into server.xml, given the installation type, it can be found in

  • $BPEL_HOME/system/appserver/j2ee/home/config (developer installation) or

  • $AS_HOME/j2ee/OC4J_BPEL/config (midtier installation)


and should look like this <transaction-config timeout="60000" />

The value is specified in milliseconds (1000 make a second) and describes the longest time a single commit cycle is allowed to be.

But what is a commit cycle? In the case of Oracle BPEL PM it is the time between the last dehydration point and now. The dehydration activities can be found here.

Having questions? send your feedback on No exception, timed out here

2 Comments:

Anonymous Anonymous said...

Is there a way to override this as a part of the deployment descriptor ?

3:24 AM

 
Anonymous Anonymous said...

BPEL has a 30 second timeout specified (by default) for web service partner link and if this time out expires then the job causes an error (ORABPEL-05002) in the log file: OraBPEL~OC4J_BPEL~default_island~1 and the process does not get listed in the BPEL console.

I think Oracle should change this design… ALL processes should cause entry in the console whether they error out or not!
Can you pass this request back to Oracle?
regards, Allan Ford, Adelaide Australia

2:26 AM

 

Post a Comment

<< Home