temporalio / temporalio/sdk-java

Enable Serialization on WorkflowQueue

Open
#227 0 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.
Java-SDK
In the following community thread.
https://community.temporal.io/t/workflow-await-does-it-release-thread/252
To continually process events on a specific entity in the order we received the events, we can use WorkflowQueue. To implement this solution, we need WorkflowQueue to be serializable. At this time we can not use this technique as the WorkflowQueue is not implementing Serializable. The main purpose of this technique is to avoid long running workflows.

Describe the solution you'd like
Enable Serialization on WorkflowQueue

Describe alternatives you've considered
Using Java Queue for now

Additional context
I received the above details from @maxim in one of my conversation in slack channel. Creating this ticket to make sure this requirement is addressed as part of the future releases.

Created from https://github.com/temporalio/temporal/issues/792

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 locating WorkflowQueue in the Java SDK and reviewing the SDK's existing serialization conventions. Add focused tests showing that a WorkflowQueue can be serialized and restored while preserving event order; the work is done when those tests pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.