[ https://issues.apache.org/jira/browse/ODE-974?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15150326#comment-15150326 ]
Sathwik Bantwal Premakumar commented on ODE-974: ------------------------------------------------ {panel:borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE} In case, the IMA (PICK, Receive) is configured with multi correlation set, and all of them were initialized before the IMA then all the initialized correlation sets will be used to identify the probable process instance for the early arriving message. {panel} Example: {code:xml} <receive name="initiate" createInstance="yes" ....> <bpel:correlations> <bpel:correlation set="CorrelationSet1" initiate="yes"></bpel:correlation <bpel:correlation set="CorrelationSet2" initiate="yes"></bpel:correlation> <bpel:correlation set="CorrelationSet3" initiate="yes"></bpel:correlation> </bpel:correlations> </receive> <receive name="receive2"...> <bpel:correlations> <bpel:correlation set="CorrelationSet1" initiate="no"></bpel:correlation> <bpel:correlation set="CorrelationSet2" initiate="no"></bpel:correlation> <bpel:correlation set="CorrelationSet3" initiate="no"></bpel:correlation> </bpel:correlations> </receive> <receive name="receive3"...> <bpel:correlations> <bpel:correlation set="CorrelationSet1" initiate="no"></bpel:correlation> <bpel:correlation set="CorrelationSet2" initiate="no"></bpel:correlation> <bpel:correlation set="CorrelationSet3" initiate="no"></bpel:correlation> </bpel:correlations> </receive> {code} \\ \\ Dataset example: ||Correlation Sets||Correlation Value Set 1||Correlation Value Set 2||Correlation Value Set 3|| |CorrelationSet1|A|A|A| |CorrelationSet2|B|D|D| |CorrelationSet3|C|C|E| ||Process Instances||Instance 1||Instance 2||Instance 3|| \\ Process instance *Instance 1* is created with *Correlation Value Set 1* values (A B C) Process instance *Instance 2* is created with *Correlation Value Set 2* values (A D C) Process instance *Instance 3* is created with *Correlation Value Set 3* values (A D E) {panel:borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1|bgColor=#FFFFCE} *During Iteration of the correlation sets, process instance associated with the correlated value is identified and an intersection set of the returned process instances are created to find the unique instance that matches all the correlation set values.* {panel} Query for instances with CorrelationSet1 value *A* returns 3 instances \[*Instance 1, 2 and 3*\] Query for instances with CorrelationSet2 value *B* returns one instance *Instance 1* and now the intersection set is constructed \[*Instance 1, Instance 2, Instance 3*\] intersection \[*Instance 1* \] = \[*Instance 1* \] Query for instances with CorrelationSet3 value *C* returns one instance *Instance 1* and now the intersection set is constructed \[*Instance 1* \] intersection \[*Instance 1* \] = \[*Instance 1* \] Henceforth the process instance *Instance 1* has been identified. > On process versioning, instances of retired version are not picking the data > from BPEL_UNMATCHED > ------------------------------------------------------------------------------------------------ > > Key: ODE-974 > URL: https://issues.apache.org/jira/browse/ODE-974 > Project: ODE > Issue Type: Bug > Components: BPEL Runtime > Reporter: Jayant Vaish > Assignee: Sathwik Bantwal Premakumar > Priority: Critical > Fix For: 1.3.7, 1.4 > > Attachments: ODE_974.zip, sample10534.zip > > > If there is a process which receives the data from another process in such a > manner that the data arrives first and then the instance reaches the activity > which needs it, the instance picks the data from the BPEL_UNMATCHED table. > If we deploy the process again, then the running instances of retired process > are not picking data from BPEL_UNMATCHED hence not getting completed. > I have attached the process. Here are the steps to reproduce : > 1. Deploy the process. Start the parent process from console. > 2. Deploy again. > 3. After one min you will see that the child process has completed, and there > is an entry in BPEL_UNMATCHED. > 4. After two mins you will see that parent process is still waiting for the > message from child process, which has already came and currently is in > BPEL_UNMATCHED table. -- This message was sent by Atlassian JIRA (v6.3.4#6332)