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

java.lang.IllegalStateException: call already closed #5387

Closed
korthout opened this issue Sep 21, 2020 · 5 comments
Closed

java.lang.IllegalStateException: call already closed #5387

korthout opened this issue Sep 21, 2020 · 5 comments
Labels
area/observability Marks an issue as observability related kind/bug Categorizes an issue or PR as a bug scope/clients-go Marks an issue or PR to appear in the Go client section of the changelog severity/low Marks a bug as having little to no noticeable impact for the user

Comments

@korthout
Copy link
Member

Describe the bug
Gateway was unable to inform go client of RESOURCE_EXHAUSTED error, because of GRPC: call already closed.

Also the go client was logging:

Failed to activate jobs for worker default rpc error: code = Unknown desc =

It might be related to #5179

To Reproduce
I have not yet reproduced it, but the user had the following set-up:

Go job worker:

handler := func(jclient worker.JobClient, job entities.Job) {
    fmt.Println("handling zeebe job")
  }
  worker := zbclient.NewJobWorker().
    JobType(starter.jobType).
    Handler(handler).
    Open()
  defer worker.Close()
  worker.AwaitClose()

A broker that is rejecting to activate jobs due to RESOURCE_EXHAUSTED (not directly seen, but considering io.zeebe.gateway.impl.job.LongPollingActivateJobsHandler.lambda$onCompleted$5(LongPollingActivateJobsHandler.java:144) ~[zeebe-gateway-0.24.3.jar:0.24.3] this appears to be the case.

Expected behavior
I expected a clear message logged by the go client, that the request to activate jobs was rejected by the broker due to resource exhausted.

Log/Stacktrace

Full Stacktrace

java.lang.IllegalStateException: call already closed
	at com.google.common.base.Preconditions.checkState(Preconditions.java:508) ~[guava-29.0-jre.jar:?]
	at io.grpc.internal.ServerCallImpl.closeInternal(ServerCallImpl.java:209) ~[grpc-core-1.30.2.jar:1.30.2]
	at io.grpc.internal.ServerCallImpl.close(ServerCallImpl.java:202) ~[grpc-core-1.30.2.jar:1.30.2]
	at io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onError(ServerCalls.java:360) ~[grpc-stub-1.30.2.jar:1.30.2]
	at io.zeebe.gateway.impl.job.LongPollingActivateJobsHandler.lambda$onCompleted$5(LongPollingActivateJobsHandler.java:144) ~[zeebe-gateway-0.24.3.jar:0.24.3]
	at io.zeebe.util.sched.ActorJob.invoke(ActorJob.java:73) ~[zeebe-util-0.24.3.jar:0.24.3]
	at io.zeebe.util.sched.ActorJob.execute(ActorJob.java:39) [zeebe-util-0.24.3.jar:0.24.3]
	at io.zeebe.util.sched.ActorTask.execute(ActorTask.java:118) [zeebe-util-0.24.3.jar:0.24.3]
	at io.zeebe.util.sched.ActorThread.executeCurrentTask(ActorThread.java:107) [zeebe-util-0.24.3.jar:0.24.3]
	at io.zeebe.util.sched.ActorThread.doWork(ActorThread.java:91) [zeebe-util-0.24.3.jar:0.24.3]
	at io.zeebe.util.sched.ActorThread.run(ActorThread.java:204) [zeebe-util-0.24.3.jar:0.24.3]

Environment:

  • OS: k8s (looked like gke)
  • Zeebe Version: 0.24.3
  • Configuration: set-up using helm chart
  • Clients: go client
@korthout korthout added kind/bug Categorizes an issue or PR as a bug scope/clients-go Marks an issue or PR to appear in the Go client section of the changelog labels Sep 21, 2020
@korthout korthout added Impact: Observability severity/mid Marks a bug as having a noticeable impact but with a known workaround and removed Status: Needs Triage labels Sep 21, 2020
@npepinpe npepinpe added blocker/info Marks an issue as blocked, awaiting more information from the author and removed Status: Needs Priority labels Sep 22, 2020
@npepinpe
Copy link
Member

Can you check if this is a duplicate of #5187 ? That was already merged but not yet released (only released in 0.25.0-alpha2 yet).

@korthout korthout self-assigned this Sep 22, 2020
@korthout
Copy link
Member Author

@npepinpe Yes this should be resolved with #5228, since the same exact line of code is executed (i.e. io.zeebe.gateway.impl.job.LongPollingActivateJobsHandler.lambda$onCompleted$5(LongPollingActivateJobsHandler.java:144) ~[zeebe-gateway-0.24.3.jar:0.24.3]).

Reading that PR makes me think: Instead of responding Expected to activate jobs of type '%s', but no jobs available and at least one broker returned 'RESOURCE_EXHAUSTED'. Please try again later., shouldn't we just back off from the exhausted broker and keep trying the others? Only when all brokers are exhausted the gateway should tell the client to backoff

zeebe-bors bot added a commit that referenced this issue Sep 25, 2020
5402: [Backport 0.24] fix(gateway): map exception to correct error code r=korthout a=korthout

## Description

backports #5228

- Previous BrokerException was directly returned to the client, it is now mapped to the correct StatusException and code.
- The error message was rewritten to make more clear what has happened.

## Related issues

fixes #5187
closes #5387

## Definition of Done

_Not all items need to be done depending on the issue and the pull request._

Code changes:
* [ ] The changes are backwards compatibility with previous versions
* [ ] If it fixes a bug then PRs are created to [backport](https://github.com/zeebe-io/zeebe/compare/stable/0.24...develop?expand=1&template=backport_template.md&title=[Backport%200.24]) the fix to the last two minor versions

Testing:
* [ ] There are unit/integration tests that verify all acceptance criterias of the issue
* [ ] New tests are written to ensure backwards compatibility with further versions
* [ ] The behavior is tested manually
* [ ] The impact of the changes is verified by a benchmark 

Documentation: 
* [ ] The documentation is updated (e.g. BPMN reference, configuration, examples, get-started guides, etc.)
* [ ] New content is added to the [release announcement](https://drive.google.com/drive/u/0/folders/1DTIeswnEEq-NggJ25rm2BsDjcCQpDape)


Co-authored-by: Christopher Zell <zelldon91@googlemail.com>
zeebe-bors bot added a commit that referenced this issue Sep 25, 2020
5402: [Backport 0.24] fix(gateway): map exception to correct error code r=korthout a=korthout

## Description

backports #5228

- Previous BrokerException was directly returned to the client, it is now mapped to the correct StatusException and code.
- The error message was rewritten to make more clear what has happened.

## Related issues

fixes #5187
closes #5387

## Definition of Done

_Not all items need to be done depending on the issue and the pull request._

Code changes:
* [ ] The changes are backwards compatibility with previous versions
* [ ] If it fixes a bug then PRs are created to [backport](https://github.com/zeebe-io/zeebe/compare/stable/0.24...develop?expand=1&template=backport_template.md&title=[Backport%200.24]) the fix to the last two minor versions

Testing:
* [ ] There are unit/integration tests that verify all acceptance criterias of the issue
* [ ] New tests are written to ensure backwards compatibility with further versions
* [x] The behavior is tested manually
* [ ] The impact of the changes is verified by a benchmark 

Documentation: 
* [ ] The documentation is updated (e.g. BPMN reference, configuration, examples, get-started guides, etc.)
* [x] New content is added to the [release announcement](https://drive.google.com/drive/u/0/folders/1DTIeswnEEq-NggJ25rm2BsDjcCQpDape)


Co-authored-by: Christopher Zell <zelldon91@googlemail.com>
@KerstinHebel KerstinHebel removed the blocker/info Marks an issue as blocked, awaiting more information from the author label Sep 25, 2020
@deepthidevaki
Copy link
Contributor

deepthidevaki commented Nov 11, 2020

This occurs again in 0.25.0.
log

java.lang.IllegalStateException: call already closed

        at com.google.common.base.Preconditions.checkState (Preconditions.java:508)
        at io.grpc.internal.ServerCallImpl.closeInternal (ServerCallImpl.java:209)
        at io.grpc.internal.ServerCallImpl.close (ServerCallImpl.java:202)
        at io.grpc.stub.ServerCalls$ServerCallStreamObserverImpl.onError (ServerCalls.java:374)
        at io.zeebe.gateway.grpc.ErrorMappingStreamObserver.onError (ErrorMappingStreamObserver.java:105)
        at io.zeebe.gateway.impl.job.LongPollingActivateJobsHandler.lambda$onCompleted$5 (LongPollingActivateJobsHandler.java:152)
        at io.zeebe.util.sched.ActorJob.invoke (ActorJob.java:73)
        at io.zeebe.util.sched.ActorJob.execute (ActorJob.java:39)
        at io.zeebe.util.sched.ActorTask.execute (ActorTask.java:122)
        at io.zeebe.util.sched.ActorThread.executeCurrentTask (ActorThread.java:107)
        at io.zeebe.util.sched.ActorThread.doWork (ActorThread.java:91)
        at io.zeebe.util.sched.ActorThread.run (ActorThread.java:204)

It indicates that client has closed the connection. It might have happened because of a real network issue or client has crashed or shutdown. Other possibility is that grpc connection timeout is not long enough to include the longpolling timeout. Hence the connection get closed before long polling connection is closed.

@deepthidevaki deepthidevaki reopened this Nov 11, 2020
@deepthidevaki deepthidevaki added severity/low Marks a bug as having little to no noticeable impact for the user Status: Needs Priority and removed severity/mid Marks a bug as having a noticeable impact but with a known workaround Status: Needs Triage labels Nov 11, 2020
@korthout korthout removed their assignment Nov 18, 2020
@npepinpe
Copy link
Member

I would imagine in most cases it's safe to ignore that the call was already closed, especially in the onError case. On response, we might want to do something (e.g. re-activate jobs?), but that's out of scope here. If we can verify that IllegalStateException is only thrown when the call was already closed, then we could catch it and simply log it at a lower level. First we could possibly look at how the framework authors expect us to handle it, there might be a nicer way to handle this already built-in.

@npepinpe npepinpe added this to Planned in Zeebe Jul 15, 2021
@npepinpe npepinpe removed this from Planned in Zeebe Oct 19, 2021
@npepinpe npepinpe added area/observability Marks an issue as observability related and removed Release: 0.24.4 labels Apr 11, 2022
@npepinpe
Copy link
Member

Tentatively fixed by the same fix as #3631 (at least for the most pervasive case). Please open a new issue if this occur server side, as this was originally a client side issue which was reopened for a similar server side issue.

github-merge-queue bot pushed a commit that referenced this issue Mar 14, 2024
* feat(backend): introduce conditions for Opensearch/ELasticsearch

* feat(backend): remove profiles for Opensearch/Elasticsearch

* feat(backend): add OpensearchConnector

* feat(backend): add OpensearchSchemaManager and RetryOpensearchClient

* feat(backend): add OpenDecisionStore

* feat(backend): add OpenDecisionStore

* feat(backend): add OpensearchUtil

Related with #5135

* feat(backend): Add OpensearchProperties and further setups

Related with #5135

* feat(backend): Add schema files for Opensearch

Related with #5135

* feat(backend): Add implementation stubs for Opensearch

Related with #5135

* feat(backend): Add implementation for webapp writer
Related with #5135

* feat(backend): introduce RecordsReader interface

Related with #4887

* feat(backend): renamed IncidentPostImportAction

Related with #4887

* feat(backend): move ELS related methods from FlowNodeInstanceZeebeRecordProcessor to FlowNodeStore

Related with #4887

* fix(backend-test): fix import error

Related with #4887

* feat(backend): remove ELS from ListViewZeebeRecordProcessor (importer-8.3)

Related with #4887

* feat(backend): remove ELS from ProcessZeebeRecordProcessor (importer-8.3)

Related with #4887

* feat(backend): remove ELS from ListView and ProcessZeebeRecordProcessor

- remove ElasticsearchQueries
- rename ElasticsearchBulkProcessor to ImportBulkProcessor

Related with #4887

* fix(backend): use Zeebe Record not java...Record

Related with #4887

* fix(backend-test): use OperateZeebeIntegrationTest in ReindexIT

Related with #4887

* feat(backend): Add implementation stubs for web reader Opensearch

Related with #5135

* feat(backend): add database property

Related with #5135

* feat(backend): implement OpensearchUserStore

Related with #5135

* feat(backend): implement OpensearchZeebeStore

Related with #5135

* feat(backend): implement OpensearchZeebeStore

- add stubs for Opensearch Dao's

Related with #5135

* feat(backend): add conditions and stub implementations

Related with #5135

* feat(backend): use port 9200 also for Opensearch

* feat(backend): add OpensearchRecordsReader implementation

Related with #5135

* feat(backend): start OpensearchImportStore implementation

Related with #5135

* docs(opensearch): add opensearch implementation notes

Related with #5135

* docs(opensearch): add toc for opensearch implementation notes

Related with #5135

* docs(opensearch): add Zeebe client link

Related with #5135

* docs(opensearch): disable operationExecutor in opensearch docs

Related with #5135

* docs(opensearch): check for empty results in OpensearchImportStore

Related with #5135

* Be opensearch implementation 1.1 (#5206)

* feat(backend): Fix ElasticsearchChecks

* feat(backend): Fix TestElasticsearchSchemaManager

* feat(backend): Add TestOpensearchSchemaManager

* feat(backend): Add OpensearchArchiver

* feat(backend): Split OperateZeebeRule into ES/OS

* feat(backend): Add OpensearchChecks

* feat(backend): Add OpensearchUtil

* feat(backend): Fix ZeebeConnectorIT

* feat(backend): Split SearchTestRule into ES/OS

* feat(backend): Introduce DatabaseInfo

* feat(backend): Fix OpenSearchProcessStore

* feat(backend): Implement OpensearchImportStore.updateImportPositions

* feat(backend): Move getAllFlowNodeInstances to FlowNodeInstanceReader

* feat(backend): Add TestUtil.removeAllIndices for opensearch

* feat(backend): Implement finished, refreshOperateSearchIndices, refreshZeebeIndices, areIndicesAreCreated in OpensearchTestRuleProvider

* feat(backend): Implement OpensearchRecordsReader.readNextBatchByPositionAndPartition

* feat(backend): Minor fixes

* feat(backend): Implement OpensearchFlowNodeStore (#5208)

* feat(backend): Implement OpensearchFlowNodeStore

* feat(backend): Minor fixes

* Implement OpensearchIncidentStore (#5225)

* feat(backend): Implement OpensearchIncidentStore

* feat(backend): OpensearchIncidentStore fix

* Be opensearch implementation 1 opensearch metrics store (#5240)

* feat(backend): Introduce RichOpenSearchClient

* feat(backend): Implement OpensearchMetricsStore

* feat(backend): Implement OpensearchMetricsStore

* feat(backend): Implement OpensearchOperationStore (#5251)

* feat(backend): Implement OpensearchOperationStore

* feat(backend): Implement OpensearchOperationStore

* chore(backend): merge master commits (#5272)

* feat(backend): API endpoint for decision definition deletion (#5137)

feat(backend): API endpoint for decision definition deletion

- added REST endpoint and test
- added batch operation for decision definition deletion

Closes #4075

* test: add process instances filters e2e tests (#5142)

* test: add process instance variables e2e tests (#5144)

* test: add process instances table e2e tests (#5145)

* feat(backend): Permissions for decision definition deletion endpoint (#5148)

feat(backend): Permissions for decision definition deletion endpoint

- added DELETE permission check

Closes #5054

* feat(api): Add parentFlowNodeInstanceKey to process instance endpoint. #4971 (#5149)

* feat(backend): Add parentFlowNodeInstanceKey to process instance

feat(backend): Add parentFlowNodeInstanceKey to process instance

- Added field parentFlowNodeInstanceKey

Closes #4971

---------

Co-authored-by: Mihail <122792941+mihail-ca@users.noreply.github.com>

* ci: Fix Browserlist GHA (#5170)

* ci: Fix Browserlist GHA

* chore: Revert to Node 18

* test: fix flaky playwright e2e tests (#5171)

* chore: Update Browserlist DB

* feat(backend): Add handler for DELETE_DECISION_DEFINITION operation (#5157)

* feat(backend): Add handler for DELETE_DECISION_DEFINITION operation

feat(backend): Add handler for DELETE_DECISION_DEFINITION operation

- Added handler

Closes #5036

Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* feat: display success notification on definition deletion (#5152)

* feat: display success notification on definition deletion

* chore: set delete definition feature flags to false

* chore: remove ThemeProvider from tests (#5058)

* chore: copy tests

* tests: update test selectors, remove theme provider

* chore: remove ThemeProvider from tests

* chore: remove most of the remaining ThemeProvider from Carbon tests

---------

Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* chore(gha): dont trigger deploy-preview on closed PRs (#5179)

* fix: fix carbon migration issues (#5161)

* chore: remove legacy e2e tests (#5164)

* chore: remove legacy e2e tests

* chore: remove obsolete line from README

* chore(deps): update dependency @testing-library/jest-dom to v6.1.1 (#5182)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(backend): return `tenantId` in Public API (#5096)

* assign `<default>` tenant to all `tenantId` fields for now
* return `tenantId` in all relevant Public API endpoints

closes #4930

* test: add process instance history e2e tests (#5150)

* test: add process instance history e2e tests

* test: remove unnecessary polls and fix expect

* chore: increase setup time for process instance history

* refactor: use getByRole selector for tree items

* chore: remove legacy components and routes (#5166)

* chore: remove legacy components and routes

* chore: remove unused constants and functions

* chore: remove common-ui (#5167)

* chore: remove old theme (#5168)

* chore: remove unused global styles (#5169)

* chore: remove carbon folders (#5175)

* fix(backend): Duplicate endpoints in Swagger public API (#5185)

fix(backend): Duplicate endpoints in Swagger public API

- updated Swagger documentation

Closes #5095

* fix(deps): update dependency styled-components to v6 (master) (#4933)

* fix(deps): update dependency styled-components to v6

* chore: fix rebase issues

* fix: fix theme switcher

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* fix(deps): update dependency @carbon/elements to v11.28.0 (#5162)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @carbon/react to v1.36.0 (#5165)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency sass to v1.66.1 (#5107)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @camunda/camunda-composite-components to v0.1.3 (master) (#5062)

* fix(deps): update dependency @camunda/camunda-composite-components to v0.1.3

* style: strict style override for p

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* fix(deps): update all non-major dependencies (master) (#5141)

* fix(deps): update all non-major dependencies

* chore: fix lint issue

* chore: update playwright version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* chore(deps): update stefanzweifel/git-auto-commit-action digest to 47a8ad5 (#5172)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: Update Browserlist DB

* chore: add release github actions (#5105)

* chore: add release github actions

* chore: use password-stdin for docker login

* chore: create release using github token and upload artifacts to operate repo

* chore: remove unused commented plugins

* chore: remove javaVersion parameter

* fix(backend): Timeout when taking the backup (#5181)

fix(backend): Timeout when taking the backup

- Added additional check for failure, to keep waiting for backup on timeout exception

Closes #3982

* docs(swagger): Enum values added to object schemas (#5180)

Swagger annotations added for:
Process Instance
- state
Incident
-state
-type
Flownode Instance
-type
-state

Related to https://github.com/camunda/camunda-platform-docs/issues/1486

* Create codeql.yml

* feat(backend): decouple importer/importer-8.3 from Elasticsearch (#5094)

* feat(backend): introduce RecordsReader interface

Related with #4887

* feat(backend): renamed IncidentPostImportAction

Related with #4887

* feat(backend): move ELS related methods from FlowNodeInstanceZeebeRecordProcessor to FlowNodeStore

Related with #4887

* fix(backend-test): fix import error

Related with #4887

* feat(backend): remove ELS from ListViewZeebeRecordProcessor (importer-8.3)

Related with #4887

* feat(backend): remove ELS from ProcessZeebeRecordProcessor (importer-8.3)

Related with #4887

* feat(backend): remove ELS from ListView and ProcessZeebeRecordProcessor

- remove ElasticsearchQueries
- rename ElasticsearchBulkProcessor to ImportBulkProcessor

Related with #4887

* fix(backend): use Zeebe Record not java...Record

Related with #4887

* fix(backend-test): use OperateZeebeIntegrationTest in ReindexIT

Related with #4887

* refactor: get rid of node-fetch dependency (#5186)

* fix: add request mocks to modification test (#5190)

* chore: split tests

* test: mock requests before applying modifications

* chore: fix act warnings for ProcessInstance/modifications.test.tsx

* test: fix act warning

---------

Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* feat(backend): API endpoint for process definition deletion (#5197)

feat(backend): API endpoint for process definition deletion

- added REST endpoint and test
- added batch operation for process definition deletion

Closes #4076

* feat(backend): add `tenantId` to `POST /api/process-instances` (#5202)

* return `tenantId` for each process instance
* allow filtering by `tenantId`

closes #5099

* feat: configuration flag to enable/disable multi tenancy (#5210)

* chore(preview-env): Add a new workflow to clean up preview environments (#5153)

* feat: add weekly docker image workflow (#5215)

* ci: add weekly-internal-docker-images.yaml

* fix: use correct cron notation

* ci: use quotes for cron job

* ci: update workflow

Use correct docker image. Set the docker tag correctly.

* Update workload-identity-provider and service_account

* ci: add permissions

Add missing permissions to workflow
https://stackoverflow.com/questions/73626841/google-github-actions-auth-failed-with-did-not-inject-actions-id-token-request/73626864#73626864

* ci: checkout first and add more parameters



* Checkout the repo before login (google auth complained here)
* Add caches for gcr.io

---------

Co-authored-by: Ralf Puchert <49151958+ralfpuchert@users.noreply.github.com>

* chore(deps): bump org.yaml:snakeyaml from 2.0 to 2.2 (#5195)

Bumps [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) from 2.0 to 2.2.
- [Commits](https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.2..snakeyaml-2.0)

---
updated-dependencies:
- dependency-name: org.yaml:snakeyaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui (#5139)

Bumps [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/springdoc/springdoc-openapi/releases)
- [Changelog](https://github.com/springdoc/springdoc-openapi/blob/main/CHANGELOG.md)
- [Commits](https://github.com/springdoc/springdoc-openapi/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: org.springdoc:springdoc-openapi-starter-webmvc-ui
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump com.auth0:jwks-rsa from 0.22.0 to 0.22.1 (#5023)

Bumps [com.auth0:jwks-rsa](https://github.com/auth0/jwks-rsa-java) from 0.22.0 to 0.22.1.
- [Release notes](https://github.com/auth0/jwks-rsa-java/releases)
- [Changelog](https://github.com/auth0/jwks-rsa-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/jwks-rsa-java/compare/0.22.0...0.22.1)

---
updated-dependencies:
- dependency-name: com.auth0:jwks-rsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: store user's tenants in session (#5214)

* feat(backend): add tenantId to `GET /api/decisions/grouped` (#5238)

* change GET to POST to allow request body
* return `tenantId` for each decision group
* allow filtering by `tenantId`

closes #5102

* feat(backend): return tenants in GET `/api/authentications/user` (#5230)

closes #5098

* feat(backend): add `tenantId` to `POST /api/decision-instances` (#5211)

* return `tenantId` for each decision instance
* allow filtering by `tenantId`

closes #5101

* chore(test): mark Elasticsearch changes... (#5241)

not to lose when implementing Opensearch

* chore(deps): bump org.testcontainers:elasticsearch from 1.18.3 to 1.19.0 (#5221)

Bumps [org.testcontainers:elasticsearch](https://github.com/testcontainers/testcontainers-java) from 1.18.3 to 1.19.0.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.3...1.19.0)

---
updated-dependencies:
- dependency-name: org.testcontainers:elasticsearch
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump version.micrometer from 1.11.2 to 1.11.3 (#5218)

Bumps `version.micrometer` from 1.11.2 to 1.11.3.

Updates `io.micrometer:micrometer-registry-prometheus` from 1.11.2 to 1.11.3
- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)
- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.2...v1.11.3)

Updates `io.micrometer:micrometer-core` from 1.11.2 to 1.11.3
- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)
- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.2...v1.11.3)

---
updated-dependencies:
- dependency-name: io.micrometer:micrometer-registry-prometheus
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: io.micrometer:micrometer-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump license-maven-plugin from 4.1 to 4.2 (#4289)

Bumps license-maven-plugin from 4.1 to 4.2.

---
updated-dependencies:
- dependency-name: com.mycila:license-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump com.auth0:mvc-auth-commons from 1.9.5 to 1.10.0 (#4973)

Bumps [com.auth0:mvc-auth-commons](https://github.com/auth0/auth0-java-mvc-common) from 1.9.5 to 1.10.0.
- [Release notes](https://github.com/auth0/auth0-java-mvc-common/releases)
- [Changelog](https://github.com/auth0/auth0-java-mvc-common/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/auth0-java-mvc-common/compare/1.9.5...1.10.0)

---
updated-dependencies:
- dependency-name: com.auth0:mvc-auth-commons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump semver dependency (#5248)

* test: add visual regression tests for dashboard page (#5194)

* test: add visual regression tests for dashboard page

* refactor: simplify function type

* test: add visual regression tests for decision detail page (#5196)

* test: add visual regression tests for processes page (#5198)

* test: add visual regression tests for processes page

* refactor: simplify function type

* test: add visual regression tests for decisions page (#5204)

* test: add visual regression tests for decisions page

* refactor: simplify function type

* chore: update camunda composite components (#5257)

* feat(backend): expose `multiTenancyEnabled` in `client-config.json` (#5224)

* feat(backend): expose `multiTenancyEnabled` in `client-config.json`

closes #5223

* chore(test): fix tests

* feat(backend): allow configuring where to read parent data from (#5203)

* feat(backend): allow configuring where to read parent data from

* chore(test): mark Elasticsearch changes...

not to lose when implementing Opensearch

* feat: get tenants for given M2M token from identity (#5242)

* chore: delete unnecessary warning (#5261)

* chore: Update Browserlist DB

* feat(backend): add `tenantId` to `GET /api/processes/grouped` (#5222)

* feat(backend): add `tenantId` to `GET /api/processes/grouped`

* change GET to POST to allow request body
* return `tenantId` for each process group
* allow filtering by `tenantId`

closes #5100

* chore(backend): extend test case

* fix(test): fix test to use POST method instead of GET

* chore(test): fix tests

* chore(deps): bump version.spring.boot from 3.1.2 to 3.1.3 (#5246)

Bumps `version.spring.boot` from 3.1.2 to 3.1.3.

Updates `org.springframework.boot:spring-boot-dependencies` from 3.1.2 to 3.1.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.1.2...v3.1.3)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.1.2 to 3.1.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-dependencies
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(ci): remove PVCs from stage env config (#5264)

* fix(backend-sec): use decisionDefinitionId as Long (#5247)

* fix(backend-sec): use decisionDefinitionId as Long

* feat(backend): use ValidLong for validating decisionDefinitionId

- Use the old way to for error message in permission check

* fix(backend): use SearchTestRule in tests

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: mihail-ca <122792941+mihail-ca@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <45518829+huygur@users.noreply.github.com>
Co-authored-by: johanwelgemoed <112612181+johanwelgemoed@users.noreply.github.com>
Co-authored-by: Vinícius Goulart <vinicius.goulart@camunda.com>
Co-authored-by: vsgoulart <vsgoulart@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>
Co-authored-by: Patrick Dehn <pedesen@users.noreply.github.com>
Co-authored-by: Lars Lange <9141483+Langleu@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Svetlana Dorokhova <svetlana.dorokhova@camunda.com>
Co-authored-by: Roman Smirnov <roman.smirnov@camunda.com>
Co-authored-by: Clément Nero <clement.nero@camunda.com>
Co-authored-by: Christopher Kujawa (Zell) <zelldon91@googlemail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpenSearchProcessStore (#5271)

* feat(backend): Implement OpenSearchProcessStore

* feat(backend): Implement OpensearchBatchRequest

* feat(backend): remove ELS deps from MigrationProperties (#5279)

* fix(backend-tests) fix backend integration tests (#5281)

* fix(backend-tests):Use annotation Conditional

* fix(backend-tests):include ZeebeImporter for ModulesTestApplication

* feat(backend): Implement OpensearchBatchRequest (#5278)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* fix(backend): remove duplicated @Conditional annotation

* fix(backend): RichOpenSearchClient (#5284)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchFlowNodeStore (#5290)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchListViewStore (#5291)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchDecisionStore (#5288)

* feat(backend): Implement OpensearchDecisionStore

* feat(backend): Implement OpensearchDecisionStore

---------

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* test(backend): add OpensearchBatchRequest tests (#5295)

* fix(backend): remove duplicated @Conditional annotation

* test(backend): add OpensearchBatchRequestIT

* fix(backend): Fix opensearch ndjson serialization (#5293)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): distinguish opensearch and elasticsearch index prefixes

* feat(backend): add search index method for DSL

* feat(backend): refactoring

* test(backend): add update and add tests

* feat(backend): add fix and test for upsert

* feat(backend): add fix upsert with routing

* feat(backend): rename DSL searchRequestBuilder method

---------

Co-authored-by: Oleksandr Kriuchenko <105281107+oleksandr-kriuchenko-lohika@users.noreply.github.com>
Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* Implement OpensearchSequenceFlowStore (#5308)

* feat(backend): Implement OpensearchSequenceFlowStore

* feat(backend): Reorganize OpensearchDSL

---------

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): implement Opensearch importer (#5333)

* feat(backend): add OpensearchDSL methods

* feat(backend): read Opensearch record as JSON string

* fix(backend): disable post importer

* fix(backend): fix bug in creating List with null items with `List.of`

* fix(backend): fix bug in updating import-position index

* feat(backend): Implement OpenSearchProcessStore (#5294)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* fix(backend): Fix aggregation in OpenSearchProcessStore.getCoreStatistics (#5352)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Combine RichOpenSearchClient, RetryOpenSearchClient, OpenSearchTask and OpensearchUtil (#5340)

* feat(backend): Implement OpensearchTaskStore

* feat(backend): Implement OpensearchTaskStore

* feat(backend): Implement OpensearchIncidentStatisticsReader

* feat(backend): Implement OpensearchTaskStore

* feat(backend): Implement OpensearchIncidentStatisticsReader

---------

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchIncidentStatisticsReader (#5386)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchBatchOperationReader (#5387)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchListViewReader (#5394)

* feat(backend): Implement OpensearchListViewReader

* feat(backend): Implement OpensearchListViewReader

---------

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Implement OpensearchOperationReader (#5408)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* fix(backend): Fix OpensearchBatchRequest (#5409)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* fix(backend): Fix JacksonConfig: allow constructors (#5412)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): Opensearch implementation for PostImportAction (#5413)

* chore(project): use Opensearch 2.5

* clean(backend): remove unused import

* feat(backend): add OpensearchIncidentPostImportAction

* feat(backend): enable post importer

* fix(backend): fix null position in query

* feat(backend): Implement OpensearchBatchOperationWriter (#5414)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* fix(backend): Fix OpensearchIncidentStatisticsReader.getIncidentsByErrorMsgStatistic (#5416)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* chore(project): merge master  (#5422)

* feat(backend): API endpoint for decision definition deletion (#5137)

feat(backend): API endpoint for decision definition deletion

- added REST endpoint and test
- added batch operation for decision definition deletion

Closes #4075

* test: add process instances filters e2e tests (#5142)

* test: add process instance variables e2e tests (#5144)

* test: add process instances table e2e tests (#5145)

* feat(backend): Permissions for decision definition deletion endpoint (#5148)

feat(backend): Permissions for decision definition deletion endpoint

- added DELETE permission check

Closes #5054

* feat(api): Add parentFlowNodeInstanceKey to process instance endpoint. #4971 (#5149)

* feat(backend): Add parentFlowNodeInstanceKey to process instance

feat(backend): Add parentFlowNodeInstanceKey to process instance

- Added field parentFlowNodeInstanceKey

Closes #4971

---------

Co-authored-by: Mihail <122792941+mihail-ca@users.noreply.github.com>

* ci: Fix Browserlist GHA (#5170)

* ci: Fix Browserlist GHA

* chore: Revert to Node 18

* test: fix flaky playwright e2e tests (#5171)

* chore: Update Browserlist DB

* feat(backend): Add handler for DELETE_DECISION_DEFINITION operation (#5157)

* feat(backend): Add handler for DELETE_DECISION_DEFINITION operation

feat(backend): Add handler for DELETE_DECISION_DEFINITION operation

- Added handler

Closes #5036

Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* feat: display success notification on definition deletion (#5152)

* feat: display success notification on definition deletion

* chore: set delete definition feature flags to false

* chore: remove ThemeProvider from tests (#5058)

* chore: copy tests

* tests: update test selectors, remove theme provider

* chore: remove ThemeProvider from tests

* chore: remove most of the remaining ThemeProvider from Carbon tests

---------

Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* chore(gha): dont trigger deploy-preview on closed PRs (#5179)

* fix: fix carbon migration issues (#5161)

* chore: remove legacy e2e tests (#5164)

* chore: remove legacy e2e tests

* chore: remove obsolete line from README

* chore(deps): update dependency @testing-library/jest-dom to v6.1.1 (#5182)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat(backend): return `tenantId` in Public API (#5096)

* assign `<default>` tenant to all `tenantId` fields for now
* return `tenantId` in all relevant Public API endpoints

closes #4930

* test: add process instance history e2e tests (#5150)

* test: add process instance history e2e tests

* test: remove unnecessary polls and fix expect

* chore: increase setup time for process instance history

* refactor: use getByRole selector for tree items

* chore: remove legacy components and routes (#5166)

* chore: remove legacy components and routes

* chore: remove unused constants and functions

* chore: remove common-ui (#5167)

* chore: remove old theme (#5168)

* chore: remove unused global styles (#5169)

* chore: remove carbon folders (#5175)

* fix(backend): Duplicate endpoints in Swagger public API (#5185)

fix(backend): Duplicate endpoints in Swagger public API

- updated Swagger documentation

Closes #5095

* fix(deps): update dependency styled-components to v6 (master) (#4933)

* fix(deps): update dependency styled-components to v6

* chore: fix rebase issues

* fix: fix theme switcher

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* fix(deps): update dependency @carbon/elements to v11.28.0 (#5162)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @carbon/react to v1.36.0 (#5165)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency sass to v1.66.1 (#5107)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency @camunda/camunda-composite-components to v0.1.3 (master) (#5062)

* fix(deps): update dependency @camunda/camunda-composite-components to v0.1.3

* style: strict style override for p

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* fix(deps): update all non-major dependencies (master) (#5141)

* fix(deps): update all non-major dependencies

* chore: fix lint issue

* chore: update playwright version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* chore(deps): update stefanzweifel/git-auto-commit-action digest to 47a8ad5 (#5172)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore: Update Browserlist DB

* chore: add release github actions (#5105)

* chore: add release github actions

* chore: use password-stdin for docker login

* chore: create release using github token and upload artifacts to operate repo

* chore: remove unused commented plugins

* chore: remove javaVersion parameter

* fix(backend): Timeout when taking the backup (#5181)

fix(backend): Timeout when taking the backup

- Added additional check for failure, to keep waiting for backup on timeout exception

Closes #3982

* docs(swagger): Enum values added to object schemas (#5180)

Swagger annotations added for:
Process Instance
- state
Incident
-state
-type
Flownode Instance
-type
-state

Related to https://github.com/camunda/camunda-platform-docs/issues/1486

* Create codeql.yml

* feat(backend): decouple importer/importer-8.3 from Elasticsearch (#5094)

* feat(backend): introduce RecordsReader interface

Related with #4887

* feat(backend): renamed IncidentPostImportAction

Related with #4887

* feat(backend): move ELS related methods from FlowNodeInstanceZeebeRecordProcessor to FlowNodeStore

Related with #4887

* fix(backend-test): fix import error

Related with #4887

* feat(backend): remove ELS from ListViewZeebeRecordProcessor (importer-8.3)

Related with #4887

* feat(backend): remove ELS from ProcessZeebeRecordProcessor (importer-8.3)

Related with #4887

* feat(backend): remove ELS from ListView and ProcessZeebeRecordProcessor

- remove ElasticsearchQueries
- rename ElasticsearchBulkProcessor to ImportBulkProcessor

Related with #4887

* fix(backend): use Zeebe Record not java...Record

Related with #4887

* fix(backend-test): use OperateZeebeIntegrationTest in ReindexIT

Related with #4887

* refactor: get rid of node-fetch dependency (#5186)

* fix: add request mocks to modification test (#5190)

* chore: split tests

* test: mock requests before applying modifications

* chore: fix act warnings for ProcessInstance/modifications.test.tsx

* test: fix act warning

---------

Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>

* feat(backend): API endpoint for process definition deletion (#5197)

feat(backend): API endpoint for process definition deletion

- added REST endpoint and test
- added batch operation for process definition deletion

Closes #4076

* feat(backend): add `tenantId` to `POST /api/process-instances` (#5202)

* return `tenantId` for each process instance
* allow filtering by `tenantId`

closes #5099

* feat: configuration flag to enable/disable multi tenancy (#5210)

* chore(preview-env): Add a new workflow to clean up preview environments (#5153)

* feat: add weekly docker image workflow (#5215)

* ci: add weekly-internal-docker-images.yaml

* fix: use correct cron notation

* ci: use quotes for cron job

* ci: update workflow

Use correct docker image. Set the docker tag correctly.

* Update workload-identity-provider and service_account

* ci: add permissions

Add missing permissions to workflow
https://stackoverflow.com/questions/73626841/google-github-actions-auth-failed-with-did-not-inject-actions-id-token-request/73626864#73626864

* ci: checkout first and add more parameters



* Checkout the repo before login (google auth complained here)
* Add caches for gcr.io

---------

Co-authored-by: Ralf Puchert <49151958+ralfpuchert@users.noreply.github.com>

* chore(deps): bump org.yaml:snakeyaml from 2.0 to 2.2 (#5195)

Bumps [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) from 2.0 to 2.2.
- [Commits](https://bitbucket.org/snakeyaml/snakeyaml/branches/compare/snakeyaml-2.2..snakeyaml-2.0)

---
updated-dependencies:
- dependency-name: org.yaml:snakeyaml
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump org.springdoc:springdoc-openapi-starter-webmvc-ui (#5139)

Bumps [org.springdoc:springdoc-openapi-starter-webmvc-ui](https://github.com/springdoc/springdoc-openapi) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/springdoc/springdoc-openapi/releases)
- [Changelog](https://github.com/springdoc/springdoc-openapi/blob/main/CHANGELOG.md)
- [Commits](https://github.com/springdoc/springdoc-openapi/compare/v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: org.springdoc:springdoc-openapi-starter-webmvc-ui
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump com.auth0:jwks-rsa from 0.22.0 to 0.22.1 (#5023)

Bumps [com.auth0:jwks-rsa](https://github.com/auth0/jwks-rsa-java) from 0.22.0 to 0.22.1.
- [Release notes](https://github.com/auth0/jwks-rsa-java/releases)
- [Changelog](https://github.com/auth0/jwks-rsa-java/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/jwks-rsa-java/compare/0.22.0...0.22.1)

---
updated-dependencies:
- dependency-name: com.auth0:jwks-rsa
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: store user's tenants in session (#5214)

* feat(backend): add tenantId to `GET /api/decisions/grouped` (#5238)

* change GET to POST to allow request body
* return `tenantId` for each decision group
* allow filtering by `tenantId`

closes #5102

* feat(backend): return tenants in GET `/api/authentications/user` (#5230)

closes #5098

* feat(backend): add `tenantId` to `POST /api/decision-instances` (#5211)

* return `tenantId` for each decision instance
* allow filtering by `tenantId`

closes #5101

* chore(test): mark Elasticsearch changes... (#5241)

not to lose when implementing Opensearch

* chore(deps): bump org.testcontainers:elasticsearch from 1.18.3 to 1.19.0 (#5221)

Bumps [org.testcontainers:elasticsearch](https://github.com/testcontainers/testcontainers-java) from 1.18.3 to 1.19.0.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.18.3...1.19.0)

---
updated-dependencies:
- dependency-name: org.testcontainers:elasticsearch
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump version.micrometer from 1.11.2 to 1.11.3 (#5218)

Bumps `version.micrometer` from 1.11.2 to 1.11.3.

Updates `io.micrometer:micrometer-registry-prometheus` from 1.11.2 to 1.11.3
- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)
- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.2...v1.11.3)

Updates `io.micrometer:micrometer-core` from 1.11.2 to 1.11.3
- [Release notes](https://github.com/micrometer-metrics/micrometer/releases)
- [Commits](https://github.com/micrometer-metrics/micrometer/compare/v1.11.2...v1.11.3)

---
updated-dependencies:
- dependency-name: io.micrometer:micrometer-registry-prometheus
  dependency-type: direct:development
  update-type: version-update:semver-patch
- dependency-name: io.micrometer:micrometer-core
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump license-maven-plugin from 4.1 to 4.2 (#4289)

Bumps license-maven-plugin from 4.1 to 4.2.

---
updated-dependencies:
- dependency-name: com.mycila:license-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump com.auth0:mvc-auth-commons from 1.9.5 to 1.10.0 (#4973)

Bumps [com.auth0:mvc-auth-commons](https://github.com/auth0/auth0-java-mvc-common) from 1.9.5 to 1.10.0.
- [Release notes](https://github.com/auth0/auth0-java-mvc-common/releases)
- [Changelog](https://github.com/auth0/auth0-java-mvc-common/blob/master/CHANGELOG.md)
- [Commits](https://github.com/auth0/auth0-java-mvc-common/compare/1.9.5...1.10.0)

---
updated-dependencies:
- dependency-name: com.auth0:mvc-auth-commons
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump semver dependency (#5248)

* test: add visual regression tests for dashboard page (#5194)

* test: add visual regression tests for dashboard page

* refactor: simplify function type

* test: add visual regression tests for decision detail page (#5196)

* test: add visual regression tests for processes page (#5198)

* test: add visual regression tests for processes page

* refactor: simplify function type

* test: add visual regression tests for decisions page (#5204)

* test: add visual regression tests for decisions page

* refactor: simplify function type

* chore: update camunda composite components (#5257)

* feat(backend): expose `multiTenancyEnabled` in `client-config.json` (#5224)

* feat(backend): expose `multiTenancyEnabled` in `client-config.json`

closes #5223

* chore(test): fix tests

* feat(backend): allow configuring where to read parent data from (#5203)

* feat(backend): allow configuring where to read parent data from

* chore(test): mark Elasticsearch changes...

not to lose when implementing Opensearch

* feat: get tenants for given M2M token from identity (#5242)

* chore: delete unnecessary warning (#5261)

* chore: Update Browserlist DB

* feat(backend): add `tenantId` to `GET /api/processes/grouped` (#5222)

* feat(backend): add `tenantId` to `GET /api/processes/grouped`

* change GET to POST to allow request body
* return `tenantId` for each process group
* allow filtering by `tenantId`

closes #5100

* chore(backend): extend test case

* fix(test): fix test to use POST method instead of GET

* chore(test): fix tests

* chore(deps): bump version.spring.boot from 3.1.2 to 3.1.3 (#5246)

Bumps `version.spring.boot` from 3.1.2 to 3.1.3.

Updates `org.springframework.boot:spring-boot-dependencies` from 3.1.2 to 3.1.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.1.2...v3.1.3)

Updates `org.springframework.boot:spring-boot-maven-plugin` from 3.1.2 to 3.1.3
- [Release notes](https://github.com/spring-projects/spring-boot/releases)
- [Commits](https://github.com/spring-projects/spring-boot/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: org.springframework.boot:spring-boot-dependencies
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.springframework.boot:spring-boot-maven-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(ci): remove PVCs from stage env config (#5264)

* fix(backend-sec): use decisionDefinitionId as Long (#5247)

* fix(backend-sec): use decisionDefinitionId as Long

* feat(backend): use ValidLong for validating decisionDefinitionId

- Use the old way to for error message in permission check

* chore(project): use Sunday as first day in week (#5270)

* test: add visual regression tests for process instance page (#5207)

* test: add visual regression tests for process instance page

* refactor: simplify function type

* refactor: reuse mockResponses in error cases

* test: add visual regression tests for modifications (#5209)

* test: check visible items after scrolling within child nodes (#5266)

* chore(ci): remove PVCs from stage env config (#5282)

* feat: enable decision definition deletion in UI (#5229)

* chore: remove mock handlers for decision definition deletion

* chore: remove feature flag

* fix(preview-env): Run the cleanup job in preview-env-deploy workflow only on 'pull_request' events (#5289)

* chore: update Zeebe and Identity to 8.3.0-alpha5 (#5302)

* chore: update Zeebe and Identity to 8.3.0-alpha5

* chore: update docker images in identity docker compose file

* chore: update CHANGELOG.md

* [maven-release-plugin] prepare release 8.3.0-alpha5

* [maven-release-plugin] prepare for next development iteration

* Update CHANGELOG.md

moved *deps from bugfixes section to chore

* chore: update Zeebe and Identity to 8.3.0-alpha6 (#5312)

* chore: update CHANGELOG.md

* [maven-release-plugin] prepare release 8.3.0-alpha6

* [maven-release-plugin] prepare for next development iteration

* chore: update snapshots for visual regression tests (#5320)

* chore: change variable value field to text area (#5239)

* chore(deps): bump version.elasticsearch from 7.17.12 to 7.17.13 (#5304)

Bumps `version.elasticsearch` from 7.17.12 to 7.17.13.

Updates `org.elasticsearch.client:elasticsearch-rest-high-level-client` from 7.17.12 to 7.17.13
- [Release notes](https://github.com/elastic/elasticsearch/releases)
- [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/elastic/elasticsearch/compare/v7.17.12...v7.17.13)

Updates `org.elasticsearch.client:elasticsearch-rest-client` from 7.17.12 to 7.17.13
- [Release notes](https://github.com/elastic/elasticsearch/releases)
- [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/elastic/elasticsearch/compare/v7.17.12...v7.17.13)

Updates `org.elasticsearch:elasticsearch-x-content` from 7.17.12 to 7.17.13
- [Release notes](https://github.com/elastic/elasticsearch/releases)
- [Changelog](https://github.com/elastic/elasticsearch/blob/main/CHANGELOG.md)
- [Commits](https://github.com/elastic/elasticsearch/compare/v7.17.12...v7.17.13)

---
updated-dependencies:
- dependency-name: org.elasticsearch.client:elasticsearch-rest-high-level-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.elasticsearch.client:elasticsearch-rest-client
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: org.elasticsearch:elasticsearch-x-content
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump org.mockito:mockito-core from 5.4.0 to 5.5.0 (#5220)

Bumps [org.mockito:mockito-core](https://github.com/mockito/mockito) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/mockito/mockito/releases)
- [Commits](https://github.com/mockito/mockito/compare/v5.4.0...v5.5.0)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore: Update Browserlist DB

* feat: filter by current tenants when using internal api (#5243)

* task: provide a tenant aware ES client

* feat: apply tenant check when using internal api

* fix: rethrow runtime exceptions

* test: fix DecisionIT test by authenticate for all tenants

* feat: apply tenant check when using public api (#5244)

* chore: set IS_VARIABLE_VALUE_IN_FILTER_ENABLED to false (#5336)

* fix(auth): even in `sso-auth` profile we need to create Identity (#5337)

closes #5269

* feat(api): add `tenantId` parameter to Public API endpoints (#5303)

* feat(api): add `tenantId` parameter to Public API endpoints

closes #4859

* test(api): add `tenantId` parameter to Public API endpoints

* feat: display process definition id on top of diagram (#5321)

* feat: display process definition id on top of diagram

* fix: display correct id

* style: update tooltip text

* feat: display decision definition id on top of diagram (#5322)

* feat: display decision definition id on top of diagram

* fix: display correct id

* style: update tooltip text

* feat: add tenant filter to processes page (#5277)

* feat: add tenant filter to processes page

* refactor: rename accumulator

* refactor: remove unnecessary wrapper

* refactor: remove default value for c8links

* style: change option All to All versions for version filter

* refactor: fix type for userdto

* chore: remove user api mock

* feat: add tenant filter to decisions page (#5292)

* feat: add tenant filter to decisions page

* style: change option All to All versions for version filter

* chore(deps): update all non-major dependencies (#4983)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* feat: display tenant column in processes list (#5323)

* feat: display tenant column in processes list

* refactor: rename boolean value for displaying tenant column

* chore: remove user api mock

* feat: display tenant column in decisions list (#5324)

* feat: display tenant column in decisions list

* refactor: rename boolean value for displaying tenant column

* chore: use POST instead of GET for grouped processes endpoint (#5328)

* feat: display tenant column in decisions list

* refactor: rename boolean value for displaying tenant column

* chore: use POST instead of GET for grouped processes endpoint

* chore(backend): update base image version (#5363)

* chore(backend): update base image version

* chore(Dockerfile): update base image digest

* style: update process definition deletion warning text (#5268)

* style: update process definition deletion warning text

* chore: set IS_PROCESS_DEFINITION_DELETION_ENABLED to true

* chore: set IS_PROCESS_DEFINITION_DELETION_ENABLED to false

* fix(backend): check security context for tenant check (#5373)

One and the same code may be reused in Internal API calls (withing security context) and in importer (no security context). We need to check that in order for tenant check works for both cases.

* Update Public Sync (#5372)

* fix(deps): update dependency bpmn-js to v14 (master) (#5228)

* fix(deps): update dependency bpmn-js to v14

* chore: set deferUpdate to true

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Patrick Dehn <patrick.dehn@camunda.com>

* chore: add mixpanel events for definition deletion (#5259)

* fix(backend): decrease refresh period for resource authorizations (#5341)

closes #5339

* feat(backend): check tenant when scheduling single operations (#5331)

* feat(backend): check tenant when scheduling single operations

closes #5285

* fix(test): fix test

* feat(backend): add `tenantId` parameter to usage metrics index (#5332)

* feat(backend): add `tenantId` parameter to usage metrics index

closes #5260

* fix(test): fix migration packages

* fix(migration): assign default tenant to old metrics

* style: add tenant column in pid page and update version link (#5371)

* style: add tenant column in pid page and update version link

* refactor: reuse title for aria-label

* test: add assertion for version link

* refactor: get columns from within header component

* chore: remove mocks

* fix: fix double refetch in decisions page on header click or refresh (#5365)

* fix: fix double refetch in decisions page on header click or refresh

* refactor: improve fetch decisions logic

* style: disable delete definition button if process has running instances (#5338)

* style: disable delete definition button if process has running instances

* refactor: use async function in useEffect

* chore: set IS_PROCESS_DEFINITION_DELETION_ENABLED to false

* feat(importer): read tenant from zeebe records (#5330)

* feat(backend): read `tenantId` from Zeebe records

closes #4778

* fix(backend): fix VariableEntity class and add tenant when generating data

closes #4778

* fix(test): fix tests

* fix(tests): ignore tests temporary

These tests are failing because multi-tenancy is not yet ready on Zeebe side

* fix(backend): add more tenant support in Internal API (#5382)

* fix(backend): add more tenant support in Internal API

* fix response from `GET /api/incidents/byError to include tenantId`
* fix response from `GET /api/incidents/byProcess to include tenantId`
* implement sorting by tenantId in `POST /api/process-instances endpoint`
* return tenantId in `GET /api/decision-instances/{id}`

closes #5370

* fix(backend): fix typo

* fix(backend): sort by tenantId

+ tests

* fix(backend): fix "incidents by error" endpoint

* fix(backend): filter vairables by user tenants (#5391)

closes #4860

* feat(backend): filter variables by IN values (#5399)

closes #5392

* chore(migration): use more safe map key (#5405)

This is a pure technical change as it does not affect any logic or APIs. The purpose is to avoid collisions in map key.

* chore: Update Browserlist DB

* feat(feature-flagged): add multiple variable values textarea (#5307)

* feat(feature-flagged): add multiple variable values textarea

* chore: add tests

* chore: remove unnecessary test

* chore: add feature flag to test

* chore: remove unnecessary feature flag check

* chore: rename getVariableValues -> getValidVariableValues

* chore: set IS_VARIABLE_VALUE_IN_FILTER_ENABLED to false

* feat(feature-flagged): add multiple variable values modal (#5316)

* feat(feature-flagged): add multiple variable values modal

* test: improve tests

* chore: reuse error message

* chore: remove unnecessary isInvisible check

* chore: update tracking variants

* style: remove textarea rows

* chore: add cdn.jsdelivr.net to connect-src directive

* style: update placeholder text and error message

* chore: don't clear input field on multiple toggle

* chore: trigger validation after changing multiple mode

* test: skip test

* fix(backend): add TaskStore to Opensearch branch

* fix(backend): implement new signatur in MetricsStore

* fix(backend): fix StatisticsReader

* fix(backend): fix usage of QueryHelper

* fix(backend): use conditional annotation

* feat(backend): add TenantAwareOpensearchClient (not implemented)

* feat(backend): add tenantId in opensearch index

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: mihail-ca <122792941+mihail-ca@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <45518829+huygur@users.noreply.github.com>
Co-authored-by: johanwelgemoed <112612181+johanwelgemoed@users.noreply.github.com>
Co-authored-by: Vinícius Goulart <vinicius.goulart@camunda.com>
Co-authored-by: vsgoulart <vsgoulart@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>
Co-authored-by: Patrick Dehn <pedesen@users.noreply.github.com>
Co-authored-by: Lars Lange <9141483+Langleu@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Svetlana Dorokhova <svetlana.dorokhova@camunda.com>
Co-authored-by: Roman Smirnov <roman.smirnov@camunda.com>
Co-authored-by: Clément Nero <clement.nero@camunda.com>
Co-authored-by: Christopher Kujawa (Zell) <zelldon91@googlemail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: camundait <camundait@users.noreply.github.com>
Co-authored-by: github-operate-app <ci@operate.camunda.cloud>
Co-authored-by: Quentin <quentin.leroy@camunda.com>
Co-authored-by: Patrick Dehn <patrick.dehn@camunda.com>

* fix(backend): moved current ELS ListViewReader methods to QueryHelper (#5428)

* fix(backend): moved current ELS ListViewReader methods to QueryHelper

* fix(backend): fix typo

* feat(backend): change ProcessReader interface to class due to ProcessStore usage (#5430)

* feat(backend): add OpensearchVariableReader implementation (#5431)

* feat(backend): add sourceExclude to QueryDSL

* feat(backend): add OpensearchVariableReader implementation

* feat(backend): Implement OpensearchFlowNodeInstanceReader (#5432)

Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>

* feat(backend): add Opensearch implementation for DecisionReader and DecisionInstanceReader  (#5436)

* feat(backend): add OpensearchDecisionInstanceReader implementation

* feat(backend): add OpensearchReader implementation

* feat(backend): fix constructing SortOrder by String

* fix(backend): use searchUnique and get dateFormat from OpensearchProperties

* fix(backend): remove unused OpensearchUtil

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Oleksandr Kriuchenko <105281107+oleksandr-kriuchenko-lohika@users.noreply.github.com>
Co-authored-by: mihail-ca <122792941+mihail-ca@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <45518829+huygur@users.noreply.github.com>
Co-authored-by: johanwelgemoed <112612181+johanwelgemoed@users.noreply.github.com>
Co-authored-by: Vinícius Goulart <vinicius.goulart@camunda.com>
Co-authored-by: vsgoulart <vsgoulart@users.noreply.github.com>
Co-authored-by: Hüsna Uygur <husna.uygur@camunda.com>
Co-authored-by: Patrick Dehn <pedesen@users.noreply.github.com>
Co-authored-by: Lars Lange <9141483+Langleu@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Svetlana Dorokhova <svetlana.dorokhova@camunda.com>
Co-authored-by: Roman Smirnov <roman.smirnov@camunda.com>
Co-authored-by: Clément Nero <clement.nero@camunda.com>
Co-authored-by: Christopher Kujawa (Zell) <zelldon91@googlemail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Oleksandr Kriuchenko <okriuchenko@lohika.com>
Co-authored-by: camundait <camundait@users.noreply.github.com>
Co-authored-by: github-operate-app <ci@operate.camunda.cloud>
Co-authored-by: Quentin <quentin.leroy@camunda.com>
Co-authored-by: Patrick Dehn <patrick.dehn@camunda.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/observability Marks an issue as observability related kind/bug Categorizes an issue or PR as a bug scope/clients-go Marks an issue or PR to appear in the Go client section of the changelog severity/low Marks a bug as having little to no noticeable impact for the user
Projects
None yet
Development

No branches or pull requests

4 participants