This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 8999fd2c1cf686df0dc441b090019177dd591b45
Author: Tung Tran <vtt...@linagora.com>
AuthorDate: Fri Aug 18 08:57:17 2023 +0700

    JAMES-3500 delete dynamic cassandra image after usage
---
 .../apache/james/backends/cassandra/DockerCassandra.java  | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
index 7d5e2d4920..cc7a74210d 100644
--- 
a/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
+++ 
b/backends-common/cassandra/src/test/java/org/apache/james/backends/cassandra/DockerCassandra.java
@@ -117,11 +117,15 @@ public class DockerCassandra {
         // If available try to access the image shared by all maven projects
         // This avoids rebuilding one for each maven surefire fork.
         // BUILD_ID should be set by the execution context, here JenkinsFile
-        return Optional.ofNullable(System.getenv("BUILD_ID"))
+        return getFixedBuildId()
             // Default to an image discriminator specific to this JVM
             .orElse(UUID.randomUUID().toString());
     }
 
+    private static Optional<String> getFixedBuildId() {
+        return Optional.ofNullable(System.getenv("BUILD_ID"));
+    }
+
     private static final int CASSANDRA_PORT = 9042;
     private static final int CASSANDRA_MEMORY = 1024;
 
@@ -133,10 +137,12 @@ public class DockerCassandra {
 
     @SuppressWarnings("resource")
     public DockerCassandra() {
-        this("cassandra_4_1_3-" + buildSpecificImageDiscriminator(), 
AdditionalDockerFileStep.IDENTITY);
+        this("cassandra_4_1_3-" + buildSpecificImageDiscriminator(),
+            getFixedBuildId().isEmpty(),
+            AdditionalDockerFileStep.IDENTITY);
     }
 
-    private DockerCassandra(String imageName, AdditionalDockerFileStep 
additionalSteps) {
+    private DockerCassandra(String imageName, boolean deleteImageAfterUsage, 
AdditionalDockerFileStep additionalSteps) {
         client = DockerClientFactory.instance().client();
         EventsCmd eventsCmd = 
client.eventsCmd().withEventTypeFilter(EventType.IMAGE).withImageFilter(imageName);
         eventsCmd.exec(new ResultCallback<Event>() {
@@ -163,9 +169,8 @@ public class DockerCassandra {
             public void close() {
             }
         });
-        boolean doNotDeleteImageAfterUsage = false;
         cassandraContainer = new GenericContainer<>(
-            new ImageFromDockerfile(imageName,doNotDeleteImageAfterUsage)
+            new ImageFromDockerfile(imageName,deleteImageAfterUsage)
                 .withDockerfileFromBuilder(builder ->
                     additionalSteps.applyStep(builder
                         .from("cassandra:4.1.3")


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscr...@james.apache.org
For additional commands, e-mail: notifications-h...@james.apache.org

Reply via email to