Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0
-
None
-
Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
Description
When a new extension Activity extending AbstractAsynchExtensionOperation is developed and deployed, a bad scheduler issue occurs:
- the run method does neither complete with errors nor it completes successfully (intended!)
- a java timer waits 10 seconds and the calls context.completeWithFault.
- then the activity gets marked as faulted, but the process runs until it is stopped by the 30 second axis2 call timeout, returning the axis2 stack trace to the invoking client.
It seems like the situation that the activity marks itsself as faulted by calling the context.completeWithFault() method in the ExtensionContext class is somehow not being propagated to the navigator and the whole BPEL Process is blocked by the faulted Activity. Also no compensation is called.
Again to make it clear: the time integrated in the extension fires after 10 seconds, but the process completes on Axis2 Timeout after 30 seconds.
The missing code can be easily reproduced by
- create a synchronous bpel process, containing just the async extension activity
- the extension activity starts a timer in its run() method
- the timer calls completeWtih fault after a short time (e.g. immediately)
- the process is still blocked.
Attachments
Issue Links
- is related to
-
ODE-610 Process Blocks although ExtensionContext::complete() is called from AbstractAsyncExtensionOperation
- Resolved