You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Christian Fonden (JIRA)" <ji...@apache.org> on 2009/05/17 18:27:45 UTC
[jira] Created: (ODE-606) Process blocks although Async Extension
Operation completesWithfault
Process blocks although Async Extension Operation completesWithfault
--------------------------------------------------------------------
Key: ODE-606
URL: https://issues.apache.org/jira/browse/ODE-606
Project: ODE
Issue Type: Bug
Components: BPEL Runtime
Affects Versions: 2.0
Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
Reporter: Christian Fonden
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741099#action_12741099 ]
Tammo van Lessen commented on ODE-606:
--------------------------------------
Committed with r802551. Please give it a try.
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Christian Fonden (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739907#action_12739907 ]
Christian Fonden commented on ODE-606:
--------------------------------------
Hello Tammo, thanks for ur patch, but I'am afraid that i've got no time to patch by ode source code. Can I assume that your fix has already been committed to the trunk?
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Work started: (ODE-606) Process blocks although Async
Extension Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on ODE-606 started by Tammo van Lessen.
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tammo van Lessen updated ODE-606:
---------------------------------
Summary: Process blocks although Async Extension Operation is marked completed or completedWithFault (was: Process blocks although Async Extension Operation completesWithfault)
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Christian Fonden (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738037#action_12738037 ]
Christian Fonden commented on ODE-606:
--------------------------------------
I did further research regarding this bug: in my case, the ExtensionContext::complete() Method is called from another Thread as the one that called the AbstractAsyncExtensionOperation::run method.
When I called the complete() Method from the same Thread as the one that called the run() method, it worked just fine!
So I think the problem is about the ExtensionContext Class not being thread safe. So you should make this class thread save as it cannot be ensured that there is no multithreading used in an extension activity. (So in my case: I use RMI to react on external events that are received by another thread).
Hope that will help you!
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Christian Fonden (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735689#action_12735689 ]
Christian Fonden commented on ODE-606:
--------------------------------------
In the current Revision (797700) the error behaviour has slightly changed. Now
a NullPointerException is thrown when ExtensionContext::complete() is called. The Stacktrace is
java.lang.NullPointerException (null)
at org.apache.ode.jacob.vpu.JacobVPU.activeJacobThread
at org.apache.ode.jacob.vpu.ChannelFactory$ChannelInvocationHandler.invoke
at $Proxy16.completed
at org.apache.ode.bpel.rtrep.v2.ExtensionContextImpl.complete
at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter.onEvent
at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter.update
at java.util.Observable.notifyObservers
at java.util.Observable.notifyObservers
at org.apache.ode.c4b.model.extensions.ReceiveContextEvent.onEvent
at org.apache.ode.c4b.eventRegistry.ContextEventRegistry.handleContextEvent
at org.apache.ode.c4b.eventRegistry.ContextEventRegistry.update
at java.util.Observable.notifyObservers
at org.apache.ode.c4b.eventRegistry.DummyCPSAdapter$CPSClientService.OnContextEvent
at sun.reflect.NativeMethodAccessorImpl.invoke0
at sun.reflect.NativeMethodAccessorImpl.invoke
at sun.reflect.DelegatingMethodAccessorImpl.invoke
at java.lang.reflect.Method.invoke
at sun.rmi.server.UnicastServerRef.dispatch
at sun.rmi.transport.Transport$1.run
at java.security.AccessController.doPrivileged
at sun.rmi.transport.Transport.serviceCall
at sun.rmi.transport.tcp.TCPTransport.handleMessages
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
at java.lang.Thread.run
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tammo van Lessen updated ODE-606:
---------------------------------
Fix Version/s: 2.0-beta3
(was: 1.3.5)
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
> Fix For: 2.0-beta3
>
>
> 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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12738095#action_12738095 ]
Tammo van Lessen commented on ODE-606:
--------------------------------------
Thanks for the information, Christian! It matches exactly my observations, so it's good to have them confirmed. I have a possible fix in mind, and will cast it in code hopefully within this week end.
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (ODE-606) Process blocks although Async Extension
Operation completesWithfault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tammo van Lessen reassigned ODE-606:
------------------------------------
Assignee: Tammo van Lessen
> Process blocks although Async Extension Operation completesWithfault
> --------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tammo van Lessen updated ODE-606:
---------------------------------
Fix Version/s: 1.3.5
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
> Fix For: 1.3.5
>
>
> 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.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Issue Comment Edited: (ODE-606) Process blocks although
Async Extension Operation is marked completed or completedWithFault
Posted by "Christian Fonden (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735689#action_12735689 ]
Christian Fonden edited comment on ODE-606 at 7/27/09 11:06 AM:
----------------------------------------------------------------
In the current Revision (797700) the error behaviour has slightly changed. Now
a NullPointerException is thrown when ExtensionContext::complete() is called.
(at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter is my AsyncExtension Class)
The Stacktrace is
java.lang.NullPointerException (null)
at org.apache.ode.jacob.vpu.JacobVPU.activeJacobThread
at org.apache.ode.jacob.vpu.ChannelFactory$ChannelInvocationHandler.invoke
at $Proxy16.completed
at org.apache.ode.bpel.rtrep.v2.ExtensionContextImpl.complete
at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter.onEvent
at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter.update
at java.util.Observable.notifyObservers
at java.util.Observable.notifyObservers
at org.apache.ode.c4b.model.extensions.ReceiveContextEvent.onEvent
at org.apache.ode.c4b.eventRegistry.ContextEventRegistry.handleContextEvent
at org.apache.ode.c4b.eventRegistry.ContextEventRegistry.update
at java.util.Observable.notifyObservers
at org.apache.ode.c4b.eventRegistry.DummyCPSAdapter$CPSClientService.OnContextEvent
at sun.reflect.NativeMethodAccessorImpl.invoke0
at sun.reflect.NativeMethodAccessorImpl.invoke
at sun.reflect.DelegatingMethodAccessorImpl.invoke
at java.lang.reflect.Method.invoke
at sun.rmi.server.UnicastServerRef.dispatch
at sun.rmi.transport.Transport$1.run
at java.security.AccessController.doPrivileged
at sun.rmi.transport.Transport.serviceCall
at sun.rmi.transport.tcp.TCPTransport.handleMessages
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
at java.lang.Thread.run
was (Author: christian.fonden):
In the current Revision (797700) the error behaviour has slightly changed. Now
a NullPointerException is thrown when ExtensionContext::complete() is called. The Stacktrace is
java.lang.NullPointerException (null)
at org.apache.ode.jacob.vpu.JacobVPU.activeJacobThread
at org.apache.ode.jacob.vpu.ChannelFactory$ChannelInvocationHandler.invoke
at $Proxy16.completed
at org.apache.ode.bpel.rtrep.v2.ExtensionContextImpl.complete
at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter.onEvent
at org.apache.ode.c4b.extensionBundle.ReceiveContextEventAdapter.update
at java.util.Observable.notifyObservers
at java.util.Observable.notifyObservers
at org.apache.ode.c4b.model.extensions.ReceiveContextEvent.onEvent
at org.apache.ode.c4b.eventRegistry.ContextEventRegistry.handleContextEvent
at org.apache.ode.c4b.eventRegistry.ContextEventRegistry.update
at java.util.Observable.notifyObservers
at org.apache.ode.c4b.eventRegistry.DummyCPSAdapter$CPSClientService.OnContextEvent
at sun.reflect.NativeMethodAccessorImpl.invoke0
at sun.reflect.NativeMethodAccessorImpl.invoke
at sun.reflect.DelegatingMethodAccessorImpl.invoke
at java.lang.reflect.Method.invoke
at sun.rmi.server.UnicastServerRef.dispatch
at sun.rmi.transport.Transport$1.run
at java.security.AccessController.doPrivileged
at sun.rmi.transport.Transport.serviceCall
at sun.rmi.transport.tcp.TCPTransport.handleMessages
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run
at java.lang.Thread.run
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Work stopped: (ODE-606) Process blocks although Async
Extension Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Work on ODE-606 stopped by Tammo van Lessen.
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ODE-606) Process blocks although Async Extension
Operation is marked completed or completedWithFault
Posted by "Tammo van Lessen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12712584#action_12712584 ]
Tammo van Lessen commented on ODE-606:
--------------------------------------
Same applies for context::complete()
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (ODE-606) Process blocks although
Async Extension Operation is marked completed or completedWithFault
Posted by "Christian Fonden (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ODE-606?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12739907#action_12739907 ]
Christian Fonden edited comment on ODE-606 at 8/9/09 4:58 AM:
--------------------------------------------------------------
Hello Tammo, thanks for ur patch, but I'am afraid that i've got no time to patch my ode source code. Can I assume that your fix has already been committed to the trunk?
was (Author: christian.fonden):
Hello Tammo, thanks for ur patch, but I'am afraid that i've got no time to patch by ode source code. Can I assume that your fix has already been committed to the trunk?
> Process blocks although Async Extension Operation is marked completed or completedWithFault
> -------------------------------------------------------------------------------------------
>
> Key: ODE-606
> URL: https://issues.apache.org/jira/browse/ODE-606
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 2.0
> Environment: Tomcat5.5 Ode Trunk Rev 766476 Debian Linux 1,5G RAM, integrated DB
> Reporter: Christian Fonden
> Assignee: Tammo van Lessen
>
> 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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.