Details
-
Feature Request
-
Resolution: Done
-
Major
-
2.3.6.Final
-
None
Description
We have a process with a timeout of 3 minutes (mex.timeout=180000). If we invoke the process, but it fails to get a response for one of it's invocations it will timeout, and enter a 'failed' state.
One a process is in a 'failed' state we can recover it using InstanceManagement. However if a JBoss crashes, or is shutdown within the timeout period the process will not invoke it's sub-processes, and it will not go into 'failed' state, meaning we will not be able to recover it.
Please see attached reproducer, proto_bpel_ws.jar and proto_bpel-1.jar.
To reproduce:
On a SOAP platform :
– modify bpel properties file (JBOSS_HOME/server/default/deploy/riftsaw.sar/bpel.properties)
comment #persist.bpel.events = false
– deploy proto_bpel-1.jar on JBoss server
– start web services on the same host as JBoss server will run
java -jar proto_bpel_ws.jar
FIRST CASE :
– run JBoss
– send soap message on http://127.0.0.1:8080/proto_bpel/main
<?xml version="1.0" encoding="UTF-8" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<main:mainRequest
xmlns:main="http://main.proto_bpel.agora.msa.fr">
<main:mapId>
<main:cle>123</main:cle>
<main:valeur>toto</main:valeur>
</main:mapId>
</main:mainRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
– BPELs start
– wait 3 minutes
– BPELs invoke activities fails because of timeout; JBoss server log :
...
2012-10-26 17:28:58,904 ERROR [org.apache.ode.bpel.runtime.INVOKE] (ODEServer-3) Failure during invoke: No response received for invoke (mexId=hqejbhcnphr7phfunuim2w), forcing it into a failed state.
2012-10-26 17:28:59,185 ERROR [org.apache.ode.bpel.runtime.INVOKE] (ODEServer-4) Failure during invoke: No response received for invoke (mexId=hqejbhcnphr7phfunuim33), forcing it into a failed state.
...
2012-10-26 17:31:59,216 INFO [org.apache.ode.bpel.engine.BpelRuntimeContextImpl] (ODEServer-5) ActivityRecovery: Registering activity 19, failure reason: No response received for invoke (mexId=hqejbhcnphr7phfunuim3e), forcing it into a failed state. on channel 38
...
2012-10-26 17:31:59,325 INFO [org.apache.ode.bpel.engine.BpelRuntimeContextImpl] (ODEServer-2) ActivityRecovery: Registering activity 11, failure reason: No response received for invoke (mexId=hqejbhcnphr7phfunuim3l), forcing it into a failed state. on channel 24
...
SECOND CASE :
– send soap message
– BPELs start
– shutdown JBoss server : shutdown -S ...
– run again JBoss
– BPELs stay in running state (status = ACTIVE) indefinitely (NO MORE TIMEOUT ??? so no status = FAILURE on activity)