From 4c22e2a9fcb22ba3bb443ad7dd6f77e744ccbca7 Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Wed, 3 Dec 2025 10:22:16 +0100 Subject: [PATCH] FINERACT-2326: Force single-threaded execution of tenant database upgrades --- fineract-provider/src/main/resources/application.properties | 6 ++++-- .../src/test/resources/application-test.properties | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fineract-provider/src/main/resources/application.properties b/fineract-provider/src/main/resources/application.properties index 9b4942716..e60d07523 100644 --- a/fineract-provider/src/main/resources/application.properties +++ b/fineract-provider/src/main/resources/application.properties @@ -146,8 +146,10 @@ fineract.events.external.producer.kafka.admin.extra-properties=${FINERACT_EXTERN fineract.task-executor.default-task-executor-core-pool-size=${FINERACT_DEFAULT_TASK_EXECUTOR_CORE_POOL_SIZE:10} fineract.task-executor.default-task-executor-max-pool-size=${FINERACT_DEFAULT_TASK_EXECUTOR_MAX_POOL_SIZE:100} -fineract.task-executor.tenant-upgrade-task-executor-core-pool-size=${FINERACT_TENANT_UPGRADE_TASK_EXECUTOR_CORE_POOL_SIZE:1} -fineract.task-executor.tenant-upgrade-task-executor-max-pool-size=${FINERACT_TENANT_UPGRADE_TASK_EXECUTOR_MAX_POOL_SIZE:1} +# This is intentionally restricted to a single thread due to an outstanding Liquibase thread-safety issue: https://github.com/liquibase/liquibase/pull/7227 +fineract.task-executor.tenant-upgrade-task-executor-core-pool-size=1 +# This is intentionally restricted to a single thread due to an outstanding Liquibase thread-safety issue https://github.com/liquibase/liquibase/pull/7227 +fineract.task-executor.tenant-upgrade-task-executor-max-pool-size=1 fineract.task-executor.tenant-upgrade-task-executor-queue-capacity=${FINERACT_TENANT_UPGRADE_TASK_EXECUTOR_QUEUE_CAPACITY:100} fineract.idempotency-key-header-name=${FINERACT_IDEMPOTENCY_KEY_HEADER_NAME:Idempotency-Key} diff --git a/fineract-provider/src/test/resources/application-test.properties b/fineract-provider/src/test/resources/application-test.properties index c599b3e37..23f34f391 100644 --- a/fineract-provider/src/test/resources/application-test.properties +++ b/fineract-provider/src/test/resources/application-test.properties @@ -67,8 +67,10 @@ fineract.events.external.producer.jms.thread-pool-task-executor-max-pool-size=${ fineract.task-executor.default-task-executor-core-pool-size=${FINERACT_DEFAULT_TASK_EXECUTOR_CORE_POOL_SIZE:10} fineract.task-executor.default-task-executor-max-pool-size=${FINERACT_DEFAULT_TASK_EXECUTOR_MAX_POOL_SIZE:100} -fineract.task-executor.tenant-upgrade-task-executor-core-pool-size=${FINERACT_TENANT_UPGRADE_TASK_EXECUTOR_CORE_POOL_SIZE:1} -fineract.task-executor.tenant-upgrade-task-executor-max-pool-size=${FINERACT_TENANT_UPGRADE_TASK_EXECUTOR_MAX_POOL_SIZE:1} +# This is intentionally restricted to a single thread due to an outstanding Liquibase thread-safety issue: https://github.com/liquibase/liquibase/pull/7227 +fineract.task-executor.tenant-upgrade-task-executor-core-pool-size=1 +# This is intentionally restricted to a single thread due to an outstanding Liquibase thread-safety issue: https://github.com/liquibase/liquibase/pull/7227 +fineract.task-executor.tenant-upgrade-task-executor-max-pool-size=1 fineract.task-executor.tenant-upgrade-task-executor-queue-capacity=${FINERACT_TENANT_UPGRADE_TASK_EXECUTOR_QUEUE_CAPACITY:100} fineract.loan.transactionprocessor.creocore.enabled=true