Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Asynchronous polling with Splitter in Re-assemble Messages mode #97

Open
Glico21 opened this issue Mar 10, 2023 · 0 comments
Open

Asynchronous polling with Splitter in Re-assemble Messages mode #97

Glico21 opened this issue Mar 10, 2023 · 0 comments
Assignees
Labels
bug Ready For ToDo Task can be mooved to Backlog

Comments

@Glico21
Copy link

Glico21 commented Mar 10, 2023

Asynchronous polling with Splitter in Re-assemble Messages mode

Description

When using several simultaneous asynchronous calls to a single flow that contains Splitter in Re-assemble Messages mode, all messages from previous flow calls are collected in Splitter in the last called flow. Even if Splitter is configured so that each individual flow call has a unique GroupID, messages from all previous calls will be collected in the last called flow.
Reproduced an issue in this flow.

  1. Webhook. Gets unique id and number of calls to API
  2. Splitter in Split JSONata Expression mode. Creates an array of ids to send to API
  3. REST API. Sends request to the API
  4. Splitter in Re-assemble Messages mode. Gathers responses from the API into one group with the id received from the Webhook.
    If several simultaneous asynchronous calls to this flow, the last of the called flow collects all messages received from other flows and continues the flow. All previously started flows remain on the step before Splitter in re-assemble mode and time out.

Component Version

Latest Splitter version: v1.4.3(73d0341)

Steps to Reproduce

  1. Make several simultaneous calls of this flow
    Screenshot_20230310_152339
    Screenshot_20230310_152438
    Screenshot_20230310_153015
  2. Look at the executions page. All but the last running flow will look like this.
    Screenshot_20230310_152836
    If you pay attention to the splitter logs, you can see that the group with the corresponding id is created
    Screenshot_20230310_153130
  3. The last one will look like this.
    Screenshot_20230310_153326
    Screenshot_20230310_153428
    Here you can see in the Utility-component all three messages from previous calls to flow.
    Screenshot_20230310_153523
    In this case, the request-reply component is called 3 times, which is not correct, because the previous threads never received a reply and came timed out response.
    Screenshot_20230310_153755

Actual Result

One of our clients is not satisfied with this Splitter behavior because the runs of not the last flow contain unique id's for the whole flow to work correctly.

Workaround(s)

No known workarounds

@Glico21 Glico21 added the bug label Mar 10, 2023
@andrewreshitko andrewreshitko added the Ready For ToDo Task can be mooved to Backlog label Mar 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Ready For ToDo Task can be mooved to Backlog
Projects
None yet
Development

No branches or pull requests

3 participants