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.