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

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


The following commit(s) were added to refs/heads/master by this push:
     new 6ab6f91fae [BUILD] Fix tmpfs permission mode for Cassandra, Postgres 
and RabbitMQ containers
6ab6f91fae is described below

commit 6ab6f91faea2d9c1e3fb6ac4504c52641fc005b0
Author: Quan Tran <[email protected]>
AuthorDate: Thu Nov 13 10:05:03 2025 +0700

    [BUILD] Fix tmpfs permission mode for Cassandra, Postgres and RabbitMQ 
containers
    
    cf https://github.com/opencontainers/runc/issues/4971
    
    runc update recently has resulted in the default permissions on docker 
tmpfs being 0755 rather than the expected 1777, which makes OpenSearch tests 
failed to acquire the lock on file system.
---
 .../test/java/org/apache/james/backends/cassandra/DockerCassandra.java  | 2 +-
 .../test/java/org/apache/james/backends/postgres/PostgresFixture.java   | 2 +-
 .../test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java    | 2 +-
 3 files changed, 3 insertions(+), 3 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 618125b136..18d05fc09e 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
@@ -193,7 +193,7 @@ public class DockerCassandra {
                             + "&& echo 'authenticator: PasswordAuthenticator' 
>> /etc/cassandra/cassandra.yaml"
                             + "&& echo 'authorizer: 
org.apache.cassandra.auth.CassandraAuthorizer' >> 
/etc/cassandra/cassandra.yaml"))
                         .build()))
-            .withTmpFs(ImmutableMap.of("/var/lib/cassandra", 
"rw,noexec,nosuid,size=200m"))
+            .withTmpFs(ImmutableMap.of("/var/lib/cassandra", 
"rw,noexec,nosuid,size=200m,mode=1777"))
             .withExposedPorts(CASSANDRA_PORT)
             .withCreateContainerCmdModifier(createContainerCmd -> 
createContainerCmd.withName("james-cassandra-test-" + UUID.randomUUID()))
             .withLogConsumer(DockerCassandra::displayDockerLog);
diff --git 
a/backends-common/postgres/src/test/java/org/apache/james/backends/postgres/PostgresFixture.java
 
b/backends-common/postgres/src/test/java/org/apache/james/backends/postgres/PostgresFixture.java
index 41c8965445..7d215357b5 100644
--- 
a/backends-common/postgres/src/test/java/org/apache/james/backends/postgres/PostgresFixture.java
+++ 
b/backends-common/postgres/src/test/java/org/apache/james/backends/postgres/PostgresFixture.java
@@ -96,5 +96,5 @@ public interface PostgresFixture {
         .withUsername(DEFAULT_DATABASE.dbUser())
         .withPassword(DEFAULT_DATABASE.dbPassword())
         .withCreateContainerCmdModifier(cmd -> 
cmd.withName("james-postgres-test-" + UUID.randomUUID()))
-        .withTmpFs(singletonMap("/var/lib/postgresql/data", "rw"));
+        .withTmpFs(singletonMap("/var/lib/postgresql/data", "rw,mode=1777"));
 }
diff --git 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
index 3c4557fa3c..2593f0cb0a 100644
--- 
a/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
+++ 
b/backends-common/rabbitmq/src/test/java/org/apache/james/backends/rabbitmq/DockerRabbitMQ.java
@@ -88,7 +88,7 @@ public class DockerRabbitMQ {
             .withExposedPorts(DEFAULT_RABBITMQ_PORT, 
DEFAULT_RABBITMQ_ADMIN_PORT)
             .waitingFor(waitStrategy())
             .withLogConsumer(frame -> LOGGER.debug(frame.getUtf8String()))
-            .withTmpFs(ImmutableMap.of("/var/lib/rabbitmq/mnesia", 
"rw,noexec,nosuid,size=100m"));
+            .withTmpFs(ImmutableMap.of("/var/lib/rabbitmq/mnesia", 
"rw,noexec,nosuid,size=100m,mode=1777"));
         net.ifPresent(this.container::withNetwork);
         erlangCookie.ifPresent(cookie -> 
this.container.withEnv(RABBITMQ_ERLANG_COOKIE, cookie));
         this.nodeName = DEFAULT_RABBIT_NODE_NAME_PREFIX + "@" + 
this.rabbitHostName;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to