You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2026/10/19 09:31:52 UTC

(camel) branch main updated: CAMEL-25754: camel-test-infra-artemis - no disk usage limit, so a broker on a nearly full Docker disk does not block producers (#28056)

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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new 936d6f4517a0 CAMEL-25754: camel-test-infra-artemis - no disk usage limit, so a broker on a nearly full Docker disk does not block producers (#28056)
936d6f4517a0 is described below

commit 936d6f4517a0bf0f99656908ca6cab3b57faab22
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Oct 19 11:31:43 2026 +0200

    CAMEL-25754: camel-test-infra-artemis - no disk usage limit, so a broker on a nearly full Docker disk does not block producers (#28056)
    
    camel infra run artemis started the container with the broker's default
    max-disk-usage of 90%. On a developer machine that is the Docker VM disk,
    which often fills with images; above 90% the broker blocks every producer
    and a route hangs on its send, with only a WARN from the Artemis client.
    
    The container now switches the disk check off with
    -Dbrokerconfig.maxDiskUsage=-1, and the embedded services, which used 98,
    use -1 too.
    
    
    Claude-Session: https://claude.ai/code/session_01STT6whBgK1AqsSsUKrnE8m
    
    Co-authored-by: Claude Opus 5.5 (1M context) <no...@anthropic.com>
---
 .../test/infra/artemis/services/AbstractArtemisEmbeddedService.java    | 2 +-
 .../camel/test/infra/artemis/services/ArtemisAMQPInfraService.java     | 2 +-
 .../org/apache/camel/test/infra/artemis/services/ArtemisContainer.java | 3 +++
 .../camel/test/infra/artemis/services/ArtemisMQTTInfraService.java     | 2 +-
 .../test/infra/artemis/services/ArtemisPersistentVMInfraService.java   | 2 +-
 5 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java
index ad6d7d746e8f..73095e2de80d 100644
--- a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java
+++ b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/AbstractArtemisEmbeddedService.java
@@ -91,7 +91,7 @@ public abstract class AbstractArtemisEmbeddedService implements ArtemisInfraServ
 
         artemisConfiguration.setBrokerInstance(instanceDir);
         artemisConfiguration.setJMXManagementEnabled(false);
-        artemisConfiguration.setMaxDiskUsage(98);
+        artemisConfiguration.setMaxDiskUsage(-1);
 
         final Configuration config = configure(artemisConfiguration, port, brokerId);
         if (customConfigurator != null) {
diff --git a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisAMQPInfraService.java b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisAMQPInfraService.java
index e8c518717018..2f5356571984 100644
--- a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisAMQPInfraService.java
+++ b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisAMQPInfraService.java
@@ -85,7 +85,7 @@ public class ArtemisAMQPInfraService extends AbstractArtemisEmbeddedService {
             roles.add(role);
             artemisConfiguration.putSecurityRoles("#", roles);
         }
-        artemisConfiguration.setMaxDiskUsage(98);
+        artemisConfiguration.setMaxDiskUsage(-1);
 
         // Set explicit topic name
         CoreAddressConfiguration pingTopicConfig = new CoreAddressConfiguration();
diff --git a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java
index ea132dcc63da..ee4c5f83fa34 100644
--- a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java
+++ b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisContainer.java
@@ -38,6 +38,9 @@ public class ArtemisContainer extends GenericContainer<ArtemisContainer> impleme
                 .parse(LocalPropertyResolver.getProperty(ArtemisContainer.class, ArtemisProperties.ARTEMIS_CONTAINER)));
 
         this.withEnv("AMQ_EXTRA_ARGS", "--relax-jolokia")
+                // no disk usage limit: above 90% of the disk (the Docker VM disk on a developer machine) the broker
+                // blocks every producer, and a route hangs on its send (CAMEL-25754)
+                .withEnv("JAVA_ARGS_APPEND", "-Dbrokerconfig.maxDiskUsage=-1")
                 .withEnv("AMQ_USER", DEFAULT_USERNAME)
                 .withEnv("AMQ_PASSWORD", DEFAULT_PASSWORD)
                 .withExposedPorts(DEFAULT_MQTT_PORT, DEFAULT_AMQP_PORT,
diff --git a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisMQTTInfraService.java b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisMQTTInfraService.java
index 8317b02e3550..f77fc7c35014 100644
--- a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisMQTTInfraService.java
+++ b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisMQTTInfraService.java
@@ -46,7 +46,7 @@ public class ArtemisMQTTInfraService extends AbstractArtemisEmbeddedService {
             configuration.addAcceptorConfiguration("mqtt", brokerURL + "?protocols=MQTT");
 
             configuration.addAddressSetting("#", addressSettings);
-            configuration.setMaxDiskUsage(98);
+            configuration.setMaxDiskUsage(-1);
         } catch (Exception e) {
             LOG.warn(e.getMessage(), e);
             throw new ArtemisRunException("mqtt acceptor cannot be configured", e);
diff --git a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisPersistentVMInfraService.java b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisPersistentVMInfraService.java
index 8fdf1ceb3100..f63f01dd0ea0 100644
--- a/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisPersistentVMInfraService.java
+++ b/test-infra/camel-test-infra-artemis/src/main/java/org/apache/camel/test/infra/artemis/services/ArtemisPersistentVMInfraService.java
@@ -33,7 +33,7 @@ public class ArtemisPersistentVMInfraService extends AbstractArtemisEmbeddedServ
 
         configuration.setPersistenceEnabled(true);
         configuration.setJournalType(JournalType.NIO);
-        configuration.setMaxDiskUsage(98);
+        configuration.setMaxDiskUsage(-1);
 
         try {
             configuration.addAcceptorConfiguration("in-vm", brokerURL);