-
Notifications
You must be signed in to change notification settings - Fork 202
Open
Labels
enhancementUser experienceUser experience
Description
Is your feature request related to a problem? Please describe.
Workflow task failed with an internal Java SDK runner-closed error after repeated getVersion() calls and an unhandled workflow-code exception, masking the original exception.
Reproduction
public String execute() {
String changeId = "change-id";
Workflow.getVersion(changeId, Workflow.DEFAULT_VERSION, 1);
Workflow.getVersion(changeId, Workflow.DEFAULT_VERSION, 1);
throw new RuntimeException("Any error");
}
Output
{
"eventId": "4",
"eventTime": "2026-03-16T15:11:44.248131861Z",
"eventType": "WorkflowTaskFailed",
"version": "4100265",
"taskId": "312960817",
"workflowTaskFailedEventAttributes": {
"scheduledEventId": "2",
"startedEventId": "3",
"failure": {
"message": "closed",
"source": "JavaSDK",
"stackTrace": "io.temporal.internal.sync.DeterministicRunnerImpl.checkNotClosed(DeterministicRunnerImpl.java:564)
io.temporal.internal.sync.DeterministicRunnerImpl.runUntilAllBlocked(DeterministicRunnerImpl.java:179)
io.temporal.internal.sync.SyncWorkflow.eventLoop(SyncWorkflow.java:194)
io.temporal.internal.replay.ReplayWorkflowExecutor.eventLoop(ReplayWorkflowExecutor.java:86)
io.temporal.internal.replay.ReplayWorkflowRunTaskHandler$StatesMachinesCallbackImpl.eventLoop(ReplayWorkflowRunTaskHandler.java:410)
io.temporal.internal.statemachines.WorkflowStateMachines.eventLoop(WorkflowStateMachines.java:816)
io.temporal.internal.statemachines.WorkflowStateMachines.lambda$getVersion$8ac38aa7$1(WorkflowStateMachines.java:1241)
io.temporal.internal.statemachines.VersionStateMachine$InvocationStateMachine.notifyFromException(VersionStateMachine.java:223)
io.temporal.internal.statemachines.VersionStateMachine$InvocationStateMachine.notifySkippedExecuting(VersionStateMachine.java:262)
io.temporal.internal.statemachines.FixedTransitionAction.apply(FixedTransitionAction.java:26)
io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:139)
io.temporal.internal.statemachines.StateMachine.handleCommand(StateMachine.java:103)
io.temporal.internal.statemachines.EntityStateMachineBase.handleCommand(EntityStateMachineBase.java:41)
io.temporal.internal.statemachines.CancellableCommand.handleCommand(CancellableCommand.java:44)
io.temporal.internal.statemachines.WorkflowStateMachines.prepareImpl(WorkflowStateMachines.java:768)
io.temporal.internal.statemachines.WorkflowStateMachines.prepareCommands(WorkflowStateMachines.java:751)
io.temporal.internal.statemachines.WorkflowStateMachines.eventLoop(WorkflowStateMachines.java:820)
io.temporal.internal.statemachines.WorkflowStateMachines.access$700(WorkflowStateMachines.java:41)
io.temporal.internal.statemachines.WorkflowStateMachines$WorkflowTaskCommandsListener.workflowTaskStarted(WorkflowStateMachines.java:1486)
io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleCompleted(WorkflowTaskStateMachine.java:119)
io.temporal.internal.statemachines.WorkflowTaskStateMachine.handleStarted(WorkflowTaskStateMachine.java:109)
io.temporal.internal.statemachines.FixedTransitionAction.apply(FixedTransitionAction.java:26)
io.temporal.internal.statemachines.StateMachine.executeTransition(StateMachine.java:139)
io.temporal.internal.statemachines.StateMachine.handleHistoryEvent(StateMachine.java:83)
io.temporal.internal.statemachines.EntityStateMachineBase.handleEvent(EntityStateMachineBase.java:64)
io.temporal.internal.statemachines.EntityStateMachineInitialCommand.handleEvent(EntityStateMachineInitialCommand.java:50)
io.temporal.internal.statemachines.WorkflowStateMachines.handleSingleEvent(WorkflowStateMachines.java:496)
io.temporal.internal.statemachines.WorkflowStateMachines.handleEventsBatch(WorkflowStateMachines.java:344)
io.temporal.internal.statemachines.WorkflowStateMachines.handleEvent(WorkflowStateMachines.java:305)
io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.applyServerHistory(ReplayWorkflowRunTaskHandler.java:246)
io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTaskImpl(ReplayWorkflowRunTaskHandler.java:228)
io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTask(ReplayWorkflowRunTaskHandler.java:151)
io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTaskWithQuery(ReplayWorkflowTaskHandler.java:115)
io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTask(ReplayWorkflowTaskHandler.java:80)
io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handleTask(WorkflowWorker.java:563)
io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:402)
io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:342)
io.temporal.internal.worker.PollTaskExecutor.lambda$process$1(PollTaskExecutor.java:76)
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
java.base/java.lang.Thread.run(Thread.java:840)
",
"applicationFailureInfo": {
"type": "java.lang.Error"
}
},
"identity": "69101@danis-MacBook-Pro.local"
},
"links": [],
"billableActions": 0
}
Describe the solution you'd like
I would like to see the original exeception
cc @dan8f
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementUser experienceUser experience