From 6b7961238088afed77a9da86d6c4027bc1052046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Goworko?= Date: Thu, 17 Oct 2024 18:28:47 +0200 Subject: [PATCH 1/2] fix attempt --- .../pl/touk/nussknacker/test/base/it/NuResourcesTest.scala | 2 +- .../pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala b/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala index 49bca689f65..a2c0c569c83 100644 --- a/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala +++ b/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala @@ -470,7 +470,7 @@ trait NuResourcesTest forwardedUserName = None ) for { - _ <- dbioRunner.runInTransaction(writeProcessRepository.saveNewProcess(action)) + _ <- dbioRunner.runInSerializableTransactionWithRetry(writeProcessRepository.saveNewProcess(action)) id <- futureFetchingScenarioRepository.fetchProcessId(processName).map(_.get) } yield id } diff --git a/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala b/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala index 34507b6dee2..4f57f74fde6 100644 --- a/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala +++ b/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala @@ -190,7 +190,7 @@ private[test] class ScenarioHelper(dbRef: DbRef, clock: Clock, designerConfig: C forwardedUserName = None ) for { - _ <- dbioRunner.runInTransaction(writeScenarioRepository.saveNewProcess(action)) + _ <- dbioRunner.runInSerializableTransactionWithRetry(writeScenarioRepository.saveNewProcess(action)) id <- futureFetchingScenarioRepository.fetchProcessId(scenarioName).map(_.get) } yield id } From 6a93a16e9bca5e09db16d2dc09908b55eca3085a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Goworko?= Date: Wed, 30 Oct 2024 11:32:53 +0100 Subject: [PATCH 2/2] comment --- .../pl/touk/nussknacker/test/base/it/NuResourcesTest.scala | 3 +++ .../pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala | 3 +++ 2 files changed, 6 insertions(+) diff --git a/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala b/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala index a2c0c569c83..4e7e42fc74d 100644 --- a/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala +++ b/designer/server/src/test/scala/pl/touk/nussknacker/test/base/it/NuResourcesTest.scala @@ -470,6 +470,9 @@ trait NuResourcesTest forwardedUserName = None ) for { + // FIXME: Using method `runInSerializableTransactionWithRetry` is a workaround for problem with flaky tests + // (some tests failed with [java.sql.SQLTransactionRollbackException: transaction rollback: serialization failure]) + // the underlying cause of that errors needs investigating _ <- dbioRunner.runInSerializableTransactionWithRetry(writeProcessRepository.saveNewProcess(action)) id <- futureFetchingScenarioRepository.fetchProcessId(processName).map(_.get) } yield id diff --git a/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala b/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala index 4f57f74fde6..734e25f923e 100644 --- a/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala +++ b/designer/server/src/test/scala/pl/touk/nussknacker/test/utils/domain/ScenarioHelper.scala @@ -190,6 +190,9 @@ private[test] class ScenarioHelper(dbRef: DbRef, clock: Clock, designerConfig: C forwardedUserName = None ) for { + // FIXME: Using method `runInSerializableTransactionWithRetry` is a workaround for problem with flaky tests + // (some tests failed with [java.sql.SQLTransactionRollbackException: transaction rollback: serialization failure]) + // the underlying cause of that errors needs investigating _ <- dbioRunner.runInSerializableTransactionWithRetry(writeScenarioRepository.saveNewProcess(action)) id <- futureFetchingScenarioRepository.fetchProcessId(scenarioName).map(_.get) } yield id