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.