From d8e6219200fe94c1f00111a2c836e844c22b0992 Mon Sep 17 00:00:00 2001 From: Teddy Date: Thu, 16 Jan 2025 16:24:20 +0100 Subject: [PATCH] MINOR - Async test case result deletion (#19390) * fix: async test case result deletion * move async call to calling method --- .../service/jdbi3/TestCaseRepository.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseRepository.java b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseRepository.java index 2a73c791122..a262e689b27 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseRepository.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/jdbi3/TestCaseRepository.java @@ -24,6 +24,8 @@ import java.util.List; import java.util.Locale; import java.util.Map; import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; import javax.json.JsonPatch; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; @@ -78,6 +80,7 @@ public class TestCaseRepository extends EntityRepository { private static final String PATCH_FIELDS = "owners,entityLink,testSuite,testSuites,testDefinition,computePassedFailedRowCount,useDynamicAssertion"; public static final String FAILED_ROWS_SAMPLE_EXTENSION = "testCase.failedRowsSample"; + private final ExecutorService asyncExecutor = Executors.newFixedThreadPool(1); public TestCaseRepository() { super( @@ -382,10 +385,17 @@ public class TestCaseRepository extends EntityRepository { } private void deleteAllTestCaseResults(String fqn) { - // Delete all the test case results TestCaseResultRepository testCaseResultRepository = (TestCaseResultRepository) Entity.getEntityTimeSeriesRepository(TEST_CASE_RESULT); testCaseResultRepository.deleteAllTestCaseResults(fqn); + asyncExecutor.submit( + () -> { + try { + testCaseResultRepository.deleteAllTestCaseResults(fqn); + } catch (Exception e) { + LOG.error("Error deleting test case results for test case {}", fqn, e); + } + }); } @SneakyThrows