Skip input serialization for local activities when doNotIncludeArgumentsIntoMarker is set
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 55/100
Research direction
Start in SyncWorkflowContext.executeLocalActivity, which the issue identifies as serializing arguments before checking replay state; trace how doNotIncludeArgumentsIntoMarker affects marker creation and how local activities receive deserialized inputs. Check the relevant local-activity tests and add coverage for the option, including replay. Done means arguments bypass serialization and deserialization when they are not recorded in the marker, without changing marker or replay behavior.
Written by the indexing model from the issue text.
Description
When user sets LocalActivityOptions.setDoNotIncludeArgumentsIntoMarker(true)
local activity arguments (inputs) are not written to event history. However they are still serialized and deserialized even tho they run in same process. Arguments are serialized always, including during replay. Deserialized when local activity runs.
SyncWorkflowContext.executeLocalActivity serializes the arguments as its first thing, before check if workflow is replaying.
doNotIncludeArgumentsIntoMarker controls only if serialized arguments end up in marker event, not if serialization happens or not
Why it matter:
this extra serialization / deserialization can create cpu cost when running payload encryption
Ask:
When local activity arguments are not written to marker event, pass them to local activity directly instead of serializing and deserializing them.
- Dominant language
- Java
- Stars
- 433
- Forks
- 257
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 22
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing 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.
More from temporalio/sdk-java
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
temporalio/sdk-java#1825 ·
Maintainers usually reply within 2 days
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 54/100
temporalio/sdk-java#3125 ·
Maintainers usually reply within 2 days
-
enhancement
Difficulty 5/5 Over a week Newbie friendliness 35/100
temporalio/sdk-java#3122 ·
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
temporalio/sdk-java#3121 ·
Maintainers usually reply within 2 days
-
Allow a timer summary on Workflow.sleep and Workflow.await with timeoutPossibly taken @sangkyoonnam claimed this 5 days ago. Openenhancement
Difficulty 4/5 3-5 days Newbie friendliness 55/100
temporalio/sdk-java#3108 ·
Maintainers usually reply within 2 days
All issues in temporalio/sdk-java
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
openhab/openhab-addons#21882 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
YunaiV/ruoyi-vue-pro#1273 ·
Maintainers usually reply within 3 days
-
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
objectionary/eo#9253 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
objectionary/hone-maven-plugin#1298 ·
Maintainers usually reply within 1 day