diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java index 997358dcdc121..7588c34716049 100644 --- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java +++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/MultiTopicsConsumerImpl.java @@ -269,6 +269,10 @@ private void receiveMessageFromConsumer(ConsumerImpl consumer) { // recursion and stack overflow internalPinnedExecutor.execute(() -> receiveMessageFromConsumer(consumer)); } + }).exceptionally(ex -> { + log.error("Receive operation failed on consumer {} - Retrying later", consumer, ex); + internalPinnedExecutor.schedule(() -> receiveMessageFromConsumer(consumer), 10, TimeUnit.SECONDS); + return null; }); }