[
https://issues.apache.org/jira/browse/ODE-432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Matthieu Riou resolved ODE-432.
-------------------------------
Resolution: Fixed
Assignee: Matthieu Riou
This one was actually a bit tricky. When a receive that provides a two-way
operation gets enabled, the outstanding request gets tracked to be matched with
a reply. It also allows us to error if the scope exits before the reply is
provided. A pick is more or less like several receives enabled at once, so in
your case there were 3 outstanding requests being tracked (the fourth one being
a one-way). When one of these outstanding request gets a reply, it also gets
released along with the other ones in the pick. The bug occurs when a one-way
is used in a pick to also declares two-ways: the one-way doesn't need a reply
so the other outstanding requests don't get cleaned up.
So far it's not necessarily an issue because everything gets disposed once the
process completes. In this case however, the pick is in a loop. So after te
one-way gets its request, we enable the pick again. And then we find that we
have outstanding requests with identical partner link / operation / correlation
tuples hanging around. So we error, thinking it's a design issue that creates a
conflict.
I've fixed it in the 1.X branch and trunk, now outstanding requests get
properly cleaned even with a one-way.
> One-way operation in pick activity leads to FaultException
> ----------------------------------------------------------
>
> Key: ODE-432
> URL: https://issues.apache.org/jira/browse/ODE-432
> Project: ODE
> Issue Type: Bug
> Components: BPEL Runtime
> Affects Versions: 1.2
> Reporter: Alex Boisvert
> Assignee: Matthieu Riou
> Fix For: 1.3, 2.0
>
> Attachments: PickProcess.zip
>
>
> On behalf of Σπύρος Αναστασόπουλος, and taken from
> http://mail-archives.apache.org/mod_mbox/ode-user/200811.mbox/[EMAIL
> PROTECTED]
> I have an issue about the pick activity.
> I wrote a process that schematically does the following
> Receive
> Initialize correlation set A
> While true
> Pick
> First Operation - PickSpade (A)
> Second Operation - PickClub (A)
> Third Operation - PickHeart (A)
> Fourth Operation - PickDiamond (A)
> The first three operations are Request-Response and i can call them
> without any problems
> The last operation however is one-way and when it is called the
> process fails with the message
> 15:17:22,390 ERROR [PICK] org.apache.ode.bpel.common.FaultException:
> {Selector p
> linkInstnace={PartnerLinkInstance
> partnerLinkDecl=OPartnerLink#53,scopeInstanceI
> d=11370496},ckey={CorrelationKey setId=52,
> values=[One]},opName=pickSpade,oneWay
> =no,mexId=<null>,idx=0}
> The opName in the message "pickSpade" is not the name of the one-way
> operation.
> I run the example under intalio-bpms-5.2.0.050 and under tomcat-6.0/ode 1.2.
> I also tested with ActiveBPEL-5.0.2 and worked.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.