workflow-core
workflow-core copied to clipboard
Occasional case differences occur in the workflow ID, and the lock key does not ignore uppercase, resulting in lock failure
Scenario: Step unexpectedly fails, step is in a failed state, workflow is in a suspended state, and workflow recovery is performed multiple times. Occasionally, there is a problem of repeated execution of failed steps. After source code debugging, it is found that the reason for the locking failure of SingleNodeLockProvider is the lock key ID. Occasionally, there are capitalization issues, resulting in locking failure and repeated execution;
The workflow adopts SQLite persistence;
WorkflowCore" Version="3.9.0 WorkflowCore.Persistence.Sqlite" Version="3.9.0
public class TestStep : StepBodyAsync
{
public override async Task<ExecutionResult> RunAsync(IStepExecutionContext context)
{
await Task.Delay(5000);
throw new Exception("test error");
}
}