This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch CAMEL-22898-fix-pubsub-memory-leak in repository https://gitbox.apache.org/repos/asf/camel.git
commit f40fe763073ecad75378de8fcdad962da89d5863 Author: Guillaume Nodet <[email protected]> AuthorDate: Mon Feb 2 13:31:33 2026 +0100 Fix Task API usage: use withInitialDelay() instead of withInterval() The ForegroundTask only sleeps between iterations, not before the first iteration. For a one-time delay with maxIterations(1), we must use withInitialDelay() to ensure the delay happens before the first iteration. This fixes the backoff delay in both GooglePubsubConsumer and GooglePubsubLiteConsumer. --- .../camel/component/google/pubsublite/GooglePubsubLiteConsumer.java | 4 +++- .../apache/camel/component/google/pubsub/GooglePubsubConsumer.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java b/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java index 47049f0db09b..40ca62c54ebb 100644 --- a/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java +++ b/components/camel-google/camel-google-pubsub-lite/src/main/java/org/apache/camel/component/google/pubsublite/GooglePubsubLiteConsumer.java @@ -150,10 +150,12 @@ public class GooglePubsubLiteConsumer extends DefaultConsumer { } // Add backoff delay for recoverable errors to prevent tight loop + // We use initialDelay for the actual delay, and maxIterations(1) to run once Tasks.foregroundTask() .withBudget(Budgets.iterationBudget() .withMaxIterations(1) - .withInterval(Duration.ofSeconds(5)) + .withInitialDelay(Duration.ofSeconds(5)) + .withInterval(Duration.ZERO) .build()) .withName("PubSubLiteRetryDelay") .build() diff --git a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java index 620cb9f2c60c..87eec29c3669 100644 --- a/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java +++ b/components/camel-google/camel-google-pubsub/src/main/java/org/apache/camel/component/google/pubsub/GooglePubsubConsumer.java @@ -204,10 +204,12 @@ public class GooglePubsubConsumer extends DefaultConsumer { } // Add backoff delay for recoverable errors to prevent tight loop + // We use initialDelay for the actual delay, and maxIterations(1) to run once Tasks.foregroundTask() .withBudget(Budgets.iterationBudget() .withMaxIterations(1) - .withInterval(Duration.ofSeconds(5)) + .withInitialDelay(Duration.ofSeconds(5)) + .withInterval(Duration.ZERO) .build()) .withName("PubSubRetryDelay") .build()
