From 5718db1725b4f30d7e3afc53251112ebbb28f6c7 Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Mon, 31 Jul 2023 11:30:15 +0200 Subject: [PATCH] hotfix: invalidate kieContainer Cache before every test --- .../redaction/service/DroolsExecutionService.java | 14 ++++++++++---- .../v1/server/RedactionIntegrationTest.java | 8 ++++++++ 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java index 315f22c5..6e1ccdf2 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java +++ b/redaction-service-v1/redaction-service-server-v1/src/main/java/com/iqser/red/service/redaction/v1/server/redaction/service/DroolsExecutionService.java @@ -51,13 +51,13 @@ import lombok.extern.slf4j.Slf4j; @Slf4j @Service @RequiredArgsConstructor -@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true) +@FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = false) public class DroolsExecutionService { - RulesClient rulesClient; + final RulesClient rulesClient; Map kieContainers = new HashMap<>(); - Map rulesVersionPerDossierTemplateId = new HashMap<>(); - EntityEnrichmentService entityEnrichmentService; + final Map rulesVersionPerDossierTemplateId = new HashMap<>(); + final EntityEnrichmentService entityEnrichmentService; public KieContainer getKieContainer(String dossierTemplateId) { @@ -70,6 +70,12 @@ public class DroolsExecutionService { } } + public void invalidateKieContainerCache() { + // TODO: fix this cache! + // This cache fails 5 tests from redactionIntegrationTest + kieContainers = new HashMap<>(); + } + @Timed("redactmanager_executeRules") public List executeRules(KieContainer kieContainer, diff --git a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java index 01ed50b5..3bb3842a 100644 --- a/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java +++ b/redaction-service-v1/redaction-service-server-v1/src/test/java/com/iqser/red/service/redaction/v1/server/RedactionIntegrationTest.java @@ -76,6 +76,7 @@ import com.iqser.red.service.redaction.v1.server.document.graph.nodes.Document; import com.iqser.red.service.redaction.v1.server.document.graph.nodes.Section; import com.iqser.red.service.redaction.v1.server.document.services.EntityCreationService; import com.iqser.red.service.redaction.v1.server.document.services.EntityEnrichmentService; +import com.iqser.red.service.redaction.v1.server.redaction.service.DroolsExecutionService; import com.iqser.red.service.redaction.v1.server.redaction.utils.OsUtils; import com.iqser.red.service.redaction.v1.server.storage.RedactionStorageService; import com.iqser.red.storage.commons.StorageAutoConfiguration; @@ -95,6 +96,8 @@ public class RedactionIntegrationTest extends AbstractRedactionIntegrationTest { @Autowired private EntityEnrichmentService entityEnrichmentService; + @Autowired + private DroolsExecutionService droolsExecutionService; @Configuration @EnableAutoConfiguration(exclude = {RabbitAutoConfiguration.class}) @@ -110,6 +113,11 @@ public class RedactionIntegrationTest extends AbstractRedactionIntegrationTest { } } + @BeforeEach + public void invalidateCaches() { + + droolsExecutionService.invalidateKieContainerCache(); + } @BeforeEach