You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/01/18 12:55:53 UTC
[camel] 02/03: CAMEL-17493: ignore safe exceptions when unsubscribing
This is an automated email from the ASF dual-hosted git repository.
orpiske pushed a commit to branch camel-3.14.x
in repository https://gitbox.apache.org/repos/asf/camel.git
commit a696417867d96b47c436e7405de67bdb647f7ded
Author: Otavio Rodolfo Piske <op...@redhat.com>
AuthorDate: Fri Jan 14 19:25:43 2022 +0100
CAMEL-17493: ignore safe exceptions when unsubscribing
---
.../camel/component/kafka/KafkaFetchRecords.java | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaFetchRecords.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaFetchRecords.java
index e1c5b03..f902f28 100644
--- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaFetchRecords.java
+++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaFetchRecords.java
@@ -236,12 +236,27 @@ class KafkaFetchRecords implements Runnable {
}
private void safeUnsubscribe() {
+ final String printableTopic = getPrintableTopic();
+
try {
consumer.unsubscribe();
+ } catch (IllegalStateException e) {
+ LOG.warn("The consumer is likely already closed. Skipping the unsubscription from {}", printableTopic);
} catch (Exception e) {
kafkaConsumer.getExceptionHandler().handleException(
- "Error unsubscribing " + threadId + " from kafka topic " + topicName,
- e);
+ "Error unsubscribing thread " + threadId + " from kafka " + printableTopic, e);
+ }
+ }
+
+ /*
+ * This is only used for presenting log messages that take into consideration that it might be subscribed to a topic
+ * or a topic pattern.
+ */
+ private String getPrintableTopic() {
+ if (topicPattern != null) {
+ return "topic pattern" + topicPattern;
+ } else {
+ return "topic" + topicName;
}
}