From f12204496cc82b271dddf035ac51ac8e03c4b232 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 20 May 2026 13:59:56 +0200 Subject: [PATCH] Avoid shared distributed lock probe names --- .../HealthChecks/ElsaDistributedLockHealthCheck.cs | 2 +- .../HealthChecks/ElsaDistributedLockHealthCheckTests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs b/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs index ce7abe68c..756089f3c 100644 --- a/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs +++ b/src/modules/Elsa.Workflows.Runtime/HealthChecks/ElsaDistributedLockHealthCheck.cs @@ -9,7 +9,7 @@ namespace Elsa.Workflows.Runtime.HealthChecks; /// public class ElsaDistributedLockHealthCheck(IDistributedLockProvider distributedLockProvider) : IHealthCheck { - private const string LockName = "elsa-health-check"; + private static readonly string LockName = $"elsa-health-check-{Environment.MachineName}-{Guid.NewGuid():N}"; private static readonly TimeSpan LockAcquisitionTimeout = TimeSpan.FromSeconds(1); /// diff --git a/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs b/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs index e531a09b5..297eaa90a 100644 --- a/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs +++ b/test/unit/Elsa.Workflows.Runtime.UnitTests/HealthChecks/ElsaDistributedLockHealthCheckTests.cs @@ -27,7 +27,7 @@ public class ElsaDistributedLockHealthCheckTests Assert.Equal(HealthStatus.Healthy, result.Status); Assert.Equal("distributed-locks", result.Data["category"]); - _distributedLockProvider.Received(1).CreateLock("elsa-health-check"); + _distributedLockProvider.Received(1).CreateLock(Arg.Is(x => x.StartsWith("elsa-health-check-", StringComparison.Ordinal))); await _distributedLock.Received(1).TryAcquireAsync(ExpectedLockAcquisitionTimeout, Arg.Any()); }