Skip to content

8.1.0

Compare
Choose a tag to compare
released this 11 Oct 09:03
· 23240 commits to main since this release

Release 8.1.0

⚠️ Warning

A critical issue was found on Operate data importer which may lead to incidents not being imported to Operate.
This issue is affecting only Operate installations which where updated from 8.0, and not new installations of Operate.
When updating, it is recommended that you skip versions 8.1.0 and update directly to 8.1.1.

Enhancements

Broker

  • Writer timer triggered event with process instance key (#9519)
  • Export all records to ES by default (#8338)
  • Feature Request: On Timer events add scheduling at specific time (#3038)
  • I can access the numberOf* multi-instance properties (#2893)

Gateway

  • Support mutliple cluster contact points on the standalone Gateway (#4856)

Java Client

  • Clients can set an optional backoff time to the failed tasks. (#5629)

Go Client

  • Clients can set an optional backoff time to the failed tasks. (#5629)

Misc

  • Use OCI and OpenShift labels as part of Docker image metadata (#9940)
  • Support generic properties as extension element (#9868)
  • I can set cron expression for timer cycle (#9673)
  • Consider adding deploy workflow / cancel process instance to whitelisted commands (which will be accepted when backpressure is high) (#9283)
  • Implement some means to figure out where Zeebe's time is spent (#9282)
  • Feature Toggles (#9254)
  • BPMN Termination Event (#8789)
  • Support BPMN Inclusive Gateways (#6018)

Bug Fixes

Broker

  • Follower cannot receive new entries because it did not reset the log on receiving snapshot (#10202)
  • Follower cannot receive snapshot because "chunk received out of order" (#10180)
  • Delete existing PENDING_DEPLOYMENT causes ZeebeDbInconsistentException (#10064)
  • NullPointerException upon writing error response (#10014)
  • Too big Deployment is no longer rejected (#9946)
  • Deployment Distribution not idempotent (#9877)
  • Leaders with no log before snapshot get stuck in a loop when replicating the snapshot (#9820)
  • Output mapping doesn't create an incident if a variable is missing (#9543)
  • MetricsExporter does not configure a record filter (#9240)
  • DueDateTimeChecker will block progress if many timers are due (#9238)
  • DueDateTimeChecker may be scheduled with a negative delay (#9236)
  • Multiple triggered interrupting boundary events can deadlock process instance (#9233)
  • Interrupting event subprocess is activated more than once (#9185)
  • Removing Subscription consumer re-registers the consumer instead of removing (#9123)
  • ZeebeDbInconsistentException in ColumnFamily DMN_DECISION_REQUIREMENTS (#9115)
  • NPE in Validator (#9083)
  • Partition without leader where all brokers are listed as followers (#8978)
  • NPE during replay (#8830)
  • Job of cancelled instance can be activated if an error was thrown on it (#8588)
  • Multiple OOM encountered on benchmark cluster (#8509)
  • SIGBUS error with 1.2.2 (#8099)
  • Could not take snapshot on followers because the position doesn't exist (#7911)
  • Boundary Event can't be triggered after EventSubProcess is triggered (#6874)
  • IllegalStateException: Not expected to have an active sequence flow count lower then zero! (#6778)
  • A huge rejection reason causes an overflow in the record metadata (#6442)
  • java.lang.ClassCastException: class ModelElementInstanceImpl cannot be cast to class BpmnModelElementInstance (#4817)
  • Unable to use the same input/output element in multi-instance (#4687)
  • A workflow with start event message will deploy but fail to start if it has an event sub process (#4099)

Gateway

  • On each metadata change, the topology of partition followers grows in the Gateway's broker topology (#8724)

Java Client

  • Java client fails to describe partitions that are DEAD (#9387)

Misc

  • Timer creations will cause to schedule multiple Tasks (#10532)
  • Writing TaskResult in ProcessScheduleService can block complete processing (#10526)
  • Corrupt partition prevents startup of node (#10451)
  • After restore, a completed backup is marked as failed (#10430)
  • DefaultActorClock is not thread safe (#10400)
  • Variable instructions of multiple activations sometimes ignored in process instance modification (#10317)
  • Inclusive gateway only allows default flow with condition (#10310)
  • Rejection on start instance is not always responded to client (#10250)
  • IllegalStateException in StreamProcessor : Cannot complete future, the future is already completed (#10240)
  • Exception loop in Engine during handling of unexpected error (#10199)
  • RuntimeException: Cannot handle event with version newer than what is implemented by broker (4 > 3) (#9949)
  • Don't log JsonParseException in the gateway as errors (#9933)
  • NPE as MessagePublishProcessor tried to sendCorrelateCommand (#9860)
  • Snapshot and SnapshotStore toString implementations are recursive (#9828)
  • Time Cycle with start time is triggered multiple times after broker restart (#9680)
  • Job activation delayed by 10 seconds under stable network conditions (#9658)
  • Record log does not list correct starting before elements (#9656)
  • Incorrect creation_mode used for process_instance_creations_total metric (#9653)
  • GHA: Artifact export on job failure fails due to module directory name usage (#9437)
  • NPE: Cannot invoke "String.getBytes(java.nio.charset.Charset)" because "value" is null (#9344)
  • Cannot connect standalone gateway with brokers behind a reverse proxy (#9342)
  • User can't deploy two different DMN models in one deployment (#9337)
  • IllegalStateException when writing decision evaluation event (#9272)
  • NPE: Cannot invoke "String.getBytes()" because "key" is null (#9269)
  • Partition is healthy is logged unnecessarily (#9207)
  • IndexOutOfBounds if output collection of multi-instance is modified (#9143)
  • Error with: Failing installation of 'LogStoragePartitionStep' (#9040)
  • Deadlock when starting Zeebe with only one CPU thread (#8992)
  • Partitions gets unhealthy if many timers are scheduled (#8991)
  • Unhealthy partition in long running benchmark (#8302)
  • InternalError: a fault occurred in a recent unsafe memory access operation in compiled Java code (#6504)

Maintenance

  • Migrate the StreamProcessor tests to the new StreamPlatformExtension (#10455)
  • Expand QA test for Start Instance Anywhere (#10382)
  • A broker can take backup (#10262)
  • Detect duplicate test runs in GHA (#10260)
  • AbstractBackupStoreIT tests are detected as duplicate test runs (#10254)
  • Add transition step to install a backup store (#10253)
  • Install backup manager with configured backup store (#10207)
  • Create a StreamProcessor Module (#10130)
  • Add last written position as metadata in snapshot (#10115)
  • Remove environments from Dockerfile (#10104)
  • Add new utility module specifically for QA tests (#10089)
  • Replace direct reset with buffered writers (#10047)
  • Clarify DEAD state in Grafana dashboard (#10043)
  • Iterate over BufferedProcessingResultBuilder (#10001)
  • Actuators are cumbersome to maintain and extend (#9996)
  • Backup manager can get the status of a backup (#9981)
  • RandomizedRaftTest test results can't be parsed by publish-unit-test-result-action (#9959)
  • Notify CheckpointListeners after init and replay (#9916)
  • Extend RandomizedRaftTest with snapshot and data loss operations (#9837)
  • Smoke test rootless deployment of broker/gateway images (#9748)
  • Introduce ProcessingScheduleService (#9730)
  • Clean up StreamingPlatform / Engine (#9727)
  • Refactor StreamProcessor / Engine (#9725)
  • Remove LogStream writers from Engine (#9724)
  • Reject create process instance command using logical transaction (#9644)
  • Create a new record for the modification command (#9638)
  • CodeQL build step is slow (#9590)
  • llegalStateException: Not leader of partition 2 (#9586)
  • Move Java client samples into a dedicated repository (#9500)
  • Prevent the backport action from looping endlessly (#9490)
  • Run Testbench QA protocol from GHA (#9476)
  • GHA: Artifact export on job failure fails due to module directory name usage (#9437)
  • Explicitly handle duplicated task headers (#9416)
  • Run GHA on PRs created by backport-action (#9365)
  • Clean up ElasticsearchClient after previous parallel refactorings (#9340)
  • Refactor client's integration tests (#9331)
  • Extract RestClient creation logic out of the ElasticsearchClient (#9329)
  • Extract index template management from ElasticsearchClient (#9328)
  • Extract index name and record routing logic from ElasticsearchClient (#9327)
  • Refactor the ElasticsearchExporter tests (#9321)
  • Refactor ElasticsearchClient, splitting into separate concerns for easier testing (#9320)
  • Add test implementations for the exporter-api (#9319)
  • Update the checkstyle configuration to allow suppressing specific checkstyle warnings via annotations (#9318)
  • Refactor ProtocolFactory to only generate positive values for objects of type long (#9317)
  • Refactor ProtocolFactory for convenience to assign a type parameter for the value type (#9316)
  • Refactor ProtocolFactory to ensure that it uses a fixed seed. (#9315)
  • GHA: Building the module list fails when adding new modules (#9271)
  • Update Go client to use 1.17 (#9270)
  • Deprecate Cancel Job command (#9247)
  • Rewrite LogStorageAppenderTest (#9244)
  • Remove outdated snapshot replication graphs from the Grafana dashboard (#9194)
  • Update issue templates for new labels (#9170)
  • GHA: Release snapshot docker image (#9141)
  • GHA: Release snapshot artifacts (#9140)
  • Let bors check GHA instead of Jenkins (#9136)
  • GHA: Bundle post-test steps into a reusable action (#9135)
  • GHA: Build and test the Go client (#9128)
  • Automate manual QA instructions for OAuth integration tests (#9119)
  • Spotless apparently not configured properly (#9117)
  • Return an empty topology when no there is no known topology (#9096)
  • Unable to deploy snapshots to Maven (presumably since switch to 8.1) (#9087)
  • Remove version tag in submodules (#9079)
  • Migrated to newer prometheus operator (#9074)
  • Remove obsolete zbench folder (#9066)
  • GHA: Publish test reports (#9035)
  • google-java-format is not kept up-to-date (#9024)
  • List of extent classes is incomplete (#9012)
  • Test hypothesis that ExternalJarClassLoader can load resources from JAR (#8982)
  • Move Atomix log storage implementation into the broker (#8975)
  • Review dependencies added for convergence (#8967)
  • Protocol Jackson improvements (#8837)
  • [EPIC] Refactor Elasticsearch Exporter Tests (#8609)
  • Ci pipeline fails with TestContainers (#8350)
  • Enable sortpom on the bom module (#8037)
  • Use Spring's ApplicationContext to instantiate exporter arguments (#7628)
  • Pre-allocate files to prevent no space errors during flush (#7607)
  • Split the loading and creating of segments from SegmentedJournal (#7604)
  • Remove unnecessary intermediate serialization in RaftLog#append (#6671)
  • Journal should reject append if the sequence number is not greater than the previous record (#6217)

Merged Pull Requests

  • [Backport release-8.1.0] Migrate StreamProcessor test (#10586)
  • Add verification timeout to SuccessfulDeploymentTest.shouldSendResponse (#10573)
  • Do not copy ResultBatch everytime (#10557)
  • fix(helm): rename podSecurityContext to containerSecurityContext (#10556)
  • Fix timer scheduling (#10534)
  • feat: add backup metrics to grafana dashboard (#10521)
  • test(qa-client): use SocketUtil to get unused free port for connect failure test (#10517)
  • Verify backup and restore in a multipartition cluster (#10516)
  • fix: backup manager metrics should be prefixed with 'backup' (#10513)
  • test: wait for exporter to close to prevent flaky test (#10508)
  • test(backup-stores/s3): increase timeout (#10504)
  • test(engine): speed up the inclusive gateway test (#10479)
  • Reorganize stream processor and engine tests (#10458)
  • ci: stabilize workflows (#10457)
  • Specify the unit of retryBackOff (#10448)
  • Add backpressure technical documentation (#10431)
  • Auto merge patch dependency updates (#10333)
  • deps(maven): bump rest-assured from 5.1.1 to 5.2.0 (#10332)
  • [Backport stable/8.0] Only check that the topology reports all replicas (#10084)
  • fix: create new readers and writer for every async request (#10026)
  • ci: set reasonable timeouts for test jobs (#10024)
  • Reusable build docker action (#10017)
  • Generate and verify labels of Docker image during release (#10013)
  • Remove proxy writers (#10000)
  • Create EventAppliers in engine (#9985)
  • [stable/8.0] Allow retried DMN resource distribution (#9883)
  • Reject duplicate parallel gateway activate command (#9759)
  • Set higher timeout for awaitility in ControlledActorClockEndpointIT (#9579)
  • deps(maven): bump rest-assured from 5.1.0 to 5.1.1 (#9533)
  • feat(gateway): add start instructions to PI creation (#9479)
  • Refactor ElasticsearchClient unit tests (#9358)
  • Fix gocompat compilation issue (#9273)
  • [SPIKE] [WIP] Refactor Elasticsearch Exporter tests (#9258)
  • Archive JVM error dumps on failure (#9223)
  • Add overview dashboard to benchmark/zeebe-io clusters (#9126)
  • Add junit engines to list of unused declared deps (#9120)
  • Add zeebe overview dashboard (#9067)
  • fix(ci): update to windows-latest in bors.toml (#9046)
  • chore(maven): add trailing slashes to new Artifactory URL (#9017)
  • Add commit and record write quantile panels (#8999)
  • Introduce new commands to deploy resources in the Go client (#8995)
  • Automatically add copyright header upon creating a new file (#8984)
  • Use Github Actions for unit and integration tests (#8968)