diff --git a/temporal-sdk/src/main/java/io/temporal/internal/worker/WorkflowWorker.java b/temporal-sdk/src/main/java/io/temporal/internal/worker/WorkflowWorker.java index e67011911..802740ebe 100644 --- a/temporal-sdk/src/main/java/io/temporal/internal/worker/WorkflowWorker.java +++ b/temporal-sdk/src/main/java/io/temporal/internal/worker/WorkflowWorker.java @@ -355,8 +355,12 @@ public void handle(WorkflowTask task) throws Exception { if (!locked) { throw new UnableToAcquireLockException( - "Workflow lock for the run id hasn't been released by one of previous execution attempts, " - + "consider increasing workflow task timeout."); + "Workflow lock for the run id hasn't been released by one of previous execution attempts. " + + "This likely means the workflow task timed out, and the Service attempted to " + + "retry the task on the same Worker while the timed out Task had not finished yet. " + + "We suggest investigating why the Workflow Task timed out. This could mean " + + "looking at Worker resource utilization at the time in which this exception was thrown or " + + "increasing workflow task timeout."); } }