From c019cfa3daba42bdfe60a74d3e79aef267777d58 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 12 Sep 2025 19:58:19 +0200 Subject: [PATCH] - Fix persistence issue by converting `ChangeTrackingDictionary` to a standard dictionary in `BackgroundActivityInvoker`. - Adjust lock acquisition timeout in `appsettings.json` for improved distributed locking behavior. - Remove unused Oracle setup and volume configurations from `docker-compose.yml`. --- docker/docker-compose.yml | 2 -- src/apps/Elsa.Server.Web/appsettings.json | 2 +- .../Services/BackgroundActivityInvoker.cs | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 8acb41bf3..debf66283 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -45,7 +45,6 @@ - "5500:5500" volumes: - ./data/oracle-data:/opt/oracle/oradata - - ./setup/oracle-setup:/opt/oracle/scripts/setup mongodb: image: mongo:latest @@ -158,7 +157,6 @@ volumes: sqlserver_data: postgres-data: - oracle-data-free1: mysql_data2: cockroachdb-data: mongodb_data: diff --git a/src/apps/Elsa.Server.Web/appsettings.json b/src/apps/Elsa.Server.Web/appsettings.json index 88f86b20b..cf6cabbd9 100644 --- a/src/apps/Elsa.Server.Web/appsettings.json +++ b/src/apps/Elsa.Server.Web/appsettings.json @@ -218,7 +218,7 @@ "Runtime": { "DistributedLocking": { "Provider": "File", - "LockAcquisitionTimeout": "00:00:10" + "LockAcquisitionTimeout": "00:10:00" }, "DistributedLockProvider": "File", "WorkflowDispatcher": { diff --git a/src/modules/Elsa.Workflows.Runtime/Services/BackgroundActivityInvoker.cs b/src/modules/Elsa.Workflows.Runtime/Services/BackgroundActivityInvoker.cs index 49c37e7b2..641e9c50d 100644 --- a/src/modules/Elsa.Workflows.Runtime/Services/BackgroundActivityInvoker.cs +++ b/src/modules/Elsa.Workflows.Runtime/Services/BackgroundActivityInvoker.cs @@ -74,7 +74,7 @@ public class BackgroundActivityInvoker( [inputKey] = outputValues, [journalDataKey] = activityExecutionContext.JournalData, [bookmarksKey] = activityExecutionContext.Bookmarks.ToList(), - [propsKey] = activityExecutionContext.Properties + [propsKey] = activityExecutionContext.Properties.ToDictionary() // ChangeTrackingDictionary is not persistable, so we need to create a copy of the dictionary. }; if (outcomes != null) bookmarkProps[outcomesKey] = outcomes;