temporalio / temporalio/sdk-java

Revisit continue-as-new that doesn't carry over some attributes of parent run if not set explicitly

Open
#1,201 1 comment 1 reaction 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

Expected Behavior

Users calling Workflow.continueAsNew without an explicit ContinueAsNewOptions expect most workflow properties to carry over to the new run.

Actual Behavior

Right now continueAsNew is implemented in a way that assumes that most parameters are carried over by the server if not specified on the continueAsNew request. While in fact, it's the opposite. Server doesn't carry over most parameters are not carried over by the server.

Additional context

This task requires also

  • a careful alignment with GoSDK
  • documenting in Temporal API repo which parameters are carried over by the Server from the previous run.
  • Test server should be updated to be aligned in its behavior with the real Temporal Server.

Related:

  • #1200
  • Workflow RetryOptions are not carried forward automatically

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 with the Java SDK's Workflow.continueAsNew implementation and compare its behavior with the Go SDK. Review the Temporal API documentation and test-server behavior for which parameters carry over, then align the implementation, documentation, and tests with the real server.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, java
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.