temporalio / temporalio/sdk-java

Offer ActivityOptions via Supplier to support dynamic configs

Open
#753 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
433
Forks
249
Avg merge
5d 6h
Merged PRs (30d)
26

Description

Is your feature request related to a problem? Please describe.
Tuning activity timeouts in workflows involves rebuilding and deploying an application, which can be an unacceptably long turnaround time depending on the urgency of the timeout change (e.g. in response to an incident). Some workers may also have a long startup / awaitTermination cycle, so the current methodology of updating a dynamic config and then redeploying is also too long of a loop.

Describe the solution you'd like
ActivityOptions provided via WorkerImplementationOptions to support a Supplier<ActivityOptions> would help allow us to plugin a dynamic config store to update workers' activity options, specifically the timeouts, on a faster cycle.

Describe alternatives you've considered

  • Changing the configs in code, redeploying
  • Changing configs and then restarting the workers

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how ActivityOptions supplied through WorkerImplementationOptions are consumed in the Java SDK. Review the option-handling entry points and existing tests, then verify that a Supplier can provide updated activity timeouts without rebuilding or restarting workers.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend-api-design
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.