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 2023/12/07 10:09:51 UTC
(camel) 13/15: CAMEL-20189: camel-google: Force marking the consumer ready sooner, in case processing exchanges takes too long, causing readiness check to timeout and fail.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch ready
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 56c5c16e55c61869a6bd5c7f253cfb66412003cf
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Thu Dec 7 10:59:25 2023 +0100
CAMEL-20189: camel-google: Force marking the consumer ready sooner, in case processing exchanges takes too long, causing readiness check to timeout and fail.
---
.../component/google/mail/stream/GoogleMailStreamConsumer.java | 4 ++++
.../google/sheets/stream/GoogleSheetsStreamConsumer.java | 3 +++
.../component/google/storage/GoogleCloudStorageConsumer.java | 10 +++++++---
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
index 285c8f37ca1..aba62302a23 100644
--- a/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
+++ b/components/camel-google/camel-google-mail/src/main/java/org/apache/camel/component/google/mail/stream/GoogleMailStreamConsumer.java
@@ -86,6 +86,10 @@ public class GoogleMailStreamConsumer extends ScheduledBatchPollingConsumer {
Queue<Exchange> answer = new LinkedList<>();
ListMessagesResponse c = request.execute();
+
+ // okay we have some response from Google so lets mark the consumer as ready
+ forceConsumerAsReady();
+
if (c.getMessages() != null) {
for (Message message : c.getMessages()) {
Message mess = getClient().users().messages().get("me", message.getId()).setFormat("FULL").execute();
diff --git a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
index e6540671fa9..f39cb20a4b3 100644
--- a/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
+++ b/components/camel-google/camel-google-sheets/src/main/java/org/apache/camel/component/google/sheets/stream/GoogleSheetsStreamConsumer.java
@@ -80,6 +80,9 @@ public class GoogleSheetsStreamConsumer extends ScheduledBatchPollingConsumer {
BatchGetValuesResponse response = request.execute();
+ // okay we have some response from Google so lets mark the consumer as ready
+ forceConsumerAsReady();
+
if (response.getValueRanges() != null) {
if (getConfiguration().isSplitResults()) {
for (ValueRange valueRange : response.getValueRanges()) {
diff --git a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
index ca308e15056..7fa029ad7cc 100644
--- a/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
+++ b/components/camel-google/camel-google-storage/src/main/java/org/apache/camel/component/google/storage/GoogleCloudStorageConsumer.java
@@ -22,6 +22,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
+import com.google.api.gax.paging.Page;
import com.google.cloud.storage.Blob;
import com.google.cloud.storage.BlobId;
import com.google.cloud.storage.Bucket;
@@ -97,9 +98,13 @@ public class GoogleCloudStorageConsumer extends ScheduledBatchPollingConsumer {
} else {
LOG.trace("Queueing objects in bucket [{}]...", bucketName);
- List<Blob> bloblist = new LinkedList<>();
- for (Blob blob : getStorageClient().list(bucketName).iterateAll()) {
+ Page<Blob> page = getStorageClient().list(bucketName);
+
+ // okay we have some response from Google so lets mark the consumer as ready
+ forceConsumerAsReady();
+ List<Blob> bloblist = new LinkedList<>();
+ for (Blob blob : page.iterateAll()) {
if (filter != null && !filter.isEmpty()) {
if (blob.getBlobId().getName().matches(filter)) {
bloblist.add(blob);
@@ -107,7 +112,6 @@ public class GoogleCloudStorageConsumer extends ScheduledBatchPollingConsumer {
} else {
bloblist.add(blob);
}
-
}
if (LOG.isTraceEnabled()) {