temporalio / temporalio/sdk-java
Revisit continue-as-new that doesn't carry over some attributes of parent run if not set explicitly
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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