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

Investigate further optimizations of process definition importing #3359

Open
chillleader opened this issue Sep 26, 2024 · 0 comments
Open

Investigate further optimizations of process definition importing #3359

chillleader opened this issue Sep 26, 2024 · 0 comments
Labels
kind:task Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc.

Comments

@chillleader
Copy link
Member

chillleader commented Sep 26, 2024

What should we do?

We are currently polling Operate every N (configurable) seconds to update the process definition registry in the Connector runtime. This causes high data usage between Operate and ElasticSearch as Operate needs to fetch all process definitions for every polling request.

We can optimize this process by storing the pagination index in memory inside the Connector runtime and only poll for the next page, instead of starting from scratch every time.

Besides, we should investigate if it is possible to further optimize how the connector runtime imports and analyzes process definitions. Some ideas:

  • Can we add a quick check for the BPMN XML to determine if it contains any connectors before parsing the process model?

Why should we do it?

  1. We received customer complaints about excessive data usage between Operate and Elastic caused by this polling.

  2. From time to time, we are encountering issues in the clusters that have an abnormal amount of process definitions deployed, which causes delayed startup time and OOM errors.

@chillleader chillleader added the kind:task Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc. label Sep 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind:task Categorizes an issue or PR as general maintenance, i.e. cleanup, refactoring, etc.
Projects
None yet
Development

No branches or pull requests

1 participant