Skip to content

v1.24.0

Compare
Choose a tag to compare
@github-actions github-actions released this 25 Jun 22:53
· 55 commits to master since this release
659fee5

⚠️ Note: There is a regression in this release with worker_task_slots_available for local activities where it may not be emitted properly and the slot may not be properly released in all situations. We recommend users use v1.24.1.

Highlights

Slot Auto-Tuning (Preview)

Added WorkerTuner - this wraps the previously added SlotSupplier classes to bring worker tuning options together under one class passed to the WorkerOptions
* Added ResourceBasedTuner and ResourceBasedSlotSupplier - these classes can be used to tune the workers slot count based on available memory and cpu resources.
Set a memory/cpu target and the worker will automatically try to reach those target usage levels.
* Added CompositeTuner - this allows you to combine different kinds of SlotSuppliers to implement WorkerTuner.

Please give the resource based tuning a try and let us know how it works for you (feedback on community slack is welcome)!
The easiest thing to do is instantiate and pass a ResourceBasedTuner to WorkerOptions.
It'll work best if the worker is the only thing on your host using significant resources.
Try setting the thresholds to a reasonable value like 0.8, and make sure that your JVM -Xmx value is set appropriately.

Note: Custom Slot Supplier is currently considered experimental and not intended for production use.

Breaking Changes

Workflow Update (Preview)

This release includes some breaking changes to the Workflow Update client API.

  • temporal.client.UpdateOptions.setWaitPolicy has been changed to temporal.client.UpdateOptions.setWaitForStage
  • WaitForStage is now a required option in temporal.client.UpdateOptions and no longer defaults to Accepted
  • io.temporal.client.WorkflowStub.startUpdate now requires a WorkflowUpdateStage.
  • io.temporal.client.WorkflowStub.startUpdate now respects the WorkflowUpdateStage.
    • Previously startUpdate may have returned a handle before the desired WaitForStage was reached.

SpringBoot Integration (Preview)

As part of preparation for Spring Boot Integration GA we have renamed our Spring Boot packages to remove the alpha tag:
* temporal-spring-boot-starter-alpha -> temporal-spring-boot-starter
* temporal-spring-boot-autoconfigure-alpha -> temporal-spring-boot-autoconfigure

Users should update their package names when upgrading the Java SDK.

Stay tuned for future news about SpringBoot integration GA.

Changeset

2024-04-02 - e603fd8 - Fix environment variables in CI github action (#2024)
2024-04-04 - 26a8595 - SpringBoot - add workflow and activity metadata to RegisteredInfo (#1995)
2024-04-08 - 3568970 - Update github actions (#2027)
2024-04-08 - 779d90c - Make StickyQueueBalancer synchronized (#2025)
2024-04-10 - 920a361 - Add note on using snapshot releases (#2032)
2024-04-10 - d2a06fc - Slot supplier interface & fixed-size implementation (#2014)
2024-04-15 - 81cc6e0 - Update proto API to 1.32.0 (#2039)
2024-04-15 - c6cceca - Fix recursion in TracingWorkerInterceptor (#2040)
2024-04-17 - ed211fa - Fix exception in GrpcRetryer. (#2021)
2024-05-03 - 0013675 - Add ScheduleClientInterceptor APIs (fixes #2048) (#2050)
2024-05-08 - a41c64e - Add support for update admitted event (#2041)
2024-05-10 - 9cdff7a - Fix UnsupportedOperationException in handleSingleEventLookahead (#2061)
2024-05-21 - 5ccb859 - Send original update request back in accept/reject response (#2074)
2024-05-21 - 82d5a88 - Don't return update handles until desired stage reached (#2066)
2024-05-21 - 9a856f3 - Send unset catchupWindow in schedules if not specified (#2067)
2024-05-23 - 5e5cf0b - Add shortcut to set API key (#2052)
2024-05-29 - 0d7ae22 - Add support for nextRetryDelay (#2081)
2024-05-29 - 0d847a6 - Add identity to WorkflowOptions (#2080)
2024-05-29 - ae6597f - Fix schedule workflow action retry policy (#2082)
2024-05-30 - 0c8073e - Fix a few issues with the describeSchedules test (#2085)
2024-05-31 - 08b220c - Bump some GH action dependencies (#2083)
2024-05-31 - 5c464e8 - Fix issue with isReplaying causing direct query to spam logs (#2087)
2024-05-31 - cde114c - Fix signal CAN non determinism test (#2084)
2024-06-03 - 1ad1c04 - Require WaitForStage in StartUpdate (#2088)
2024-06-03 - 4eda239 - Add setWorkflowIdConflictPolicy (#2055)
2024-06-04 - 1e79592 - Add exception for calling an update method on a stub (#2095)
2024-06-05 - 265590d - Add toString to ServiceStubOptions (#2089)
2024-06-06 - 42b9803 - Fix caching in LazyUpdateHandleImpl (#2098)
2024-06-06 - bf392f5 - Bump some GHA actions back due to glibc compatibility (#2096)
2024-06-10 - 4f781b3 - Allow SDK to handle speculative workflow task with command events (#2099)
2024-06-10 - f0a30a6 - Fix flake in resetWorkflowIdFromWorkflowTaskTest (#2105)
2024-06-11 - 6da11b9 - Add integration test for reset with update (#2104)
2024-06-13 - ddda99b - Fix ConcurrentModificationException in LocalActivityMeteringHelper (#2108)
2024-06-21 - 69769cb - Fix empty-string fields on CaN not working (#2120)
2024-06-21 - 8a2d5cd - Resource based tuner (#2110)
2024-06-25 - 43a4aa0 - Remove Spring Boot alpha tag (#2115)
2024-06-25 - 8872e33 - Update dependencies to address some CVE scans (#2123)