You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ode.apache.org by "Paul R. Brown (JIRA)" <ji...@apache.org> on 2007/05/21 11:32:16 UTC

[jira] Created: (ODE-137) Concurrently enabled receives cause a runtime exception

Concurrently enabled receives cause a runtime exception
-------------------------------------------------------

                 Key: ODE-137
                 URL: https://issues.apache.org/jira/browse/ODE-137
             Project: Ode
          Issue Type: Bug
          Components: BPEL Runtime
    Affects Versions: 1.0-incubating
         Environment: svn tip, Mac OS X 10.4.9, JDK 1.5
            Reporter: Paul R. Brown
         Attachments: counter.bpel, counter.wsdl, deploy.xml

The process in question has the following structure:

receive init message
reply
flow
  while true
    receive get message
    reply
  while true
    receive getAndIncrement message
    reply
    increment variable
  receive close
  exit

(Python-style indenting for nesting, and sequential activities are on successive lines.)

The resulting exception is:

Caused by: org.apache.ode.bpel.iapi.BpelEngineException: Engine requested response while the message exchange hqejbhcnphr2achs6i6uh5 was in the state RESPONSE
        at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.getMyRequest(BpelRuntimeContextImpl.java:1123)
        at org.apache.ode.bpel.runtime.PICK.initVariable(PICK.java:159)
        at org.apache.ode.bpel.runtime.PICK.access$400(PICK.java:49)
        at org.apache.ode.bpel.runtime.PICK$WAITING$2.onRequestRcvd(PICK.java:244)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
        ... 16 more

With a debugger attached, if the initialize operation is called, then the response is returned, but getAndIncrement is the operation listed in the underlying mex in the call to BpelRuntimeContextImpl::getMyRequest, and this request does exist yet.

I have the feeling that the implementation is not properly hashing port type/operation pairs but rather just port types?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (ODE-137) Concurrently enabled receives cause a runtime exception

Posted by "Paul R. Brown (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ODE-137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Paul R. Brown updated ODE-137:
------------------------------

    Attachment: deploy.xml
                counter.wsdl
                counter.bpel

> Concurrently enabled receives cause a runtime exception
> -------------------------------------------------------
>
>                 Key: ODE-137
>                 URL: https://issues.apache.org/jira/browse/ODE-137
>             Project: Ode
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.0-incubating
>         Environment: svn tip, Mac OS X 10.4.9, JDK 1.5
>            Reporter: Paul R. Brown
>         Attachments: counter.bpel, counter.wsdl, deploy.xml
>
>
> The process in question has the following structure:
> receive init message
> reply
> flow
>   while true
>     receive get message
>     reply
>   while true
>     receive getAndIncrement message
>     reply
>     increment variable
>   receive close
>   exit
> (Python-style indenting for nesting, and sequential activities are on successive lines.)
> The resulting exception is:
> Caused by: org.apache.ode.bpel.iapi.BpelEngineException: Engine requested response while the message exchange hqejbhcnphr2achs6i6uh5 was in the state RESPONSE
>         at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.getMyRequest(BpelRuntimeContextImpl.java:1123)
>         at org.apache.ode.bpel.runtime.PICK.initVariable(PICK.java:159)
>         at org.apache.ode.bpel.runtime.PICK.access$400(PICK.java:49)
>         at org.apache.ode.bpel.runtime.PICK$WAITING$2.onRequestRcvd(PICK.java:244)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>         ... 16 more
> With a debugger attached, if the initialize operation is called, then the response is returned, but getAndIncrement is the operation listed in the underlying mex in the call to BpelRuntimeContextImpl::getMyRequest, and this request does exist yet.
> I have the feeling that the implementation is not properly hashing port type/operation pairs but rather just port types?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-137) Concurrently enabled receives cause a runtime exception

Posted by "Paul R. Brown (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497401 ] 

Paul R. Brown commented on ODE-137:
-----------------------------------

Converting the process to use a different message type for the initialization operation causes the exception not to appear.

> Concurrently enabled receives cause a runtime exception
> -------------------------------------------------------
>
>                 Key: ODE-137
>                 URL: https://issues.apache.org/jira/browse/ODE-137
>             Project: Ode
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.0-incubating
>         Environment: svn tip, Mac OS X 10.4.9, JDK 1.5
>            Reporter: Paul R. Brown
>         Attachments: counter.bpel, counter.wsdl, deploy.xml
>
>
> The process in question has the following structure:
> receive init message
> reply
> flow
>   while true
>     receive get message
>     reply
>   while true
>     receive getAndIncrement message
>     reply
>     increment variable
>   receive close
>   exit
> (Python-style indenting for nesting, and sequential activities are on successive lines.)
> The resulting exception is:
> Caused by: org.apache.ode.bpel.iapi.BpelEngineException: Engine requested response while the message exchange hqejbhcnphr2achs6i6uh5 was in the state RESPONSE
>         at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.getMyRequest(BpelRuntimeContextImpl.java:1123)
>         at org.apache.ode.bpel.runtime.PICK.initVariable(PICK.java:159)
>         at org.apache.ode.bpel.runtime.PICK.access$400(PICK.java:49)
>         at org.apache.ode.bpel.runtime.PICK$WAITING$2.onRequestRcvd(PICK.java:244)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>         ... 16 more
> With a debugger attached, if the initialize operation is called, then the response is returned, but getAndIncrement is the operation listed in the underlying mex in the call to BpelRuntimeContextImpl::getMyRequest, and this request does exist yet.
> I have the feeling that the implementation is not properly hashing port type/operation pairs but rather just port types?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (ODE-137) Concurrently enabled receives cause a runtime exception

Posted by "Paul R. Brown (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/ODE-137?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12497393 ] 

Paul R. Brown commented on ODE-137:
-----------------------------------

Some conveniences for experimenting:

alias close='curl http://localhost:8080/ode/rest/counter/close?counterName=foo'
alias get='curl http://localhost:8080/ode/rest/counter/get?counterName=foo'
alias getAndIncrement='curl http://localhost:8080/ode/rest/counter/getAndIncrement?counterName=foo'
alias initialize='curl http://localhost:8080/ode/rest/counter/initialize?counterName=foo'
alias undeploy='curl http://localhost:8080/ode/rest/DeploymentService/undeploy?packageName=counter'



> Concurrently enabled receives cause a runtime exception
> -------------------------------------------------------
>
>                 Key: ODE-137
>                 URL: https://issues.apache.org/jira/browse/ODE-137
>             Project: Ode
>          Issue Type: Bug
>          Components: BPEL Runtime
>    Affects Versions: 1.0-incubating
>         Environment: svn tip, Mac OS X 10.4.9, JDK 1.5
>            Reporter: Paul R. Brown
>         Attachments: counter.bpel, counter.wsdl, deploy.xml
>
>
> The process in question has the following structure:
> receive init message
> reply
> flow
>   while true
>     receive get message
>     reply
>   while true
>     receive getAndIncrement message
>     reply
>     increment variable
>   receive close
>   exit
> (Python-style indenting for nesting, and sequential activities are on successive lines.)
> The resulting exception is:
> Caused by: org.apache.ode.bpel.iapi.BpelEngineException: Engine requested response while the message exchange hqejbhcnphr2achs6i6uh5 was in the state RESPONSE
>         at org.apache.ode.bpel.engine.BpelRuntimeContextImpl.getMyRequest(BpelRuntimeContextImpl.java:1123)
>         at org.apache.ode.bpel.runtime.PICK.initVariable(PICK.java:159)
>         at org.apache.ode.bpel.runtime.PICK.access$400(PICK.java:49)
>         at org.apache.ode.bpel.runtime.PICK$WAITING$2.onRequestRcvd(PICK.java:244)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.ode.jacob.vpu.JacobVPU$JacobThreadImpl.run(JacobVPU.java:451)
>         ... 16 more
> With a debugger attached, if the initialize operation is called, then the response is returned, but getAndIncrement is the operation listed in the underlying mex in the call to BpelRuntimeContextImpl::getMyRequest, and this request does exist yet.
> I have the feeling that the implementation is not properly hashing port type/operation pairs but rather just port types?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.