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

xiangfu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git


The following commit(s) were added to refs/heads/master by this push:
     new a95db2b9f4e Make topic exists error silent in Kafka 3.0 createTopic 
(#17767)
a95db2b9f4e is described below

commit a95db2b9f4ecc2367bae552a30a2c56743bff4be
Author: Xiang Fu <[email protected]>
AuthorDate: Wed Feb 25 18:23:06 2026 -0800

    Make topic exists error silent in Kafka 3.0 createTopic (#17767)
    
    Handle TopicExistsException in KafkaServerStartable.createTopic by
    returning silently when the topic already exists, matching the behavior
    of kafka20 clients. This prevents quickstart from failing when topics
    like flights-realtime already exist.
    
    Co-authored-by: Cursor <[email protected]>
---
 .../pinot/plugin/stream/kafka30/server/KafkaServerStartable.java     | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/pinot-plugins/pinot-stream-ingestion/pinot-kafka-3.0/src/main/java/org/apache/pinot/plugin/stream/kafka30/server/KafkaServerStartable.java
 
b/pinot-plugins/pinot-stream-ingestion/pinot-kafka-3.0/src/main/java/org/apache/pinot/plugin/stream/kafka30/server/KafkaServerStartable.java
index 6d2a7b6f908..67c9c15befc 100644
--- 
a/pinot-plugins/pinot-stream-ingestion/pinot-kafka-3.0/src/main/java/org/apache/pinot/plugin/stream/kafka30/server/KafkaServerStartable.java
+++ 
b/pinot-plugins/pinot-stream-ingestion/pinot-kafka-3.0/src/main/java/org/apache/pinot/plugin/stream/kafka30/server/KafkaServerStartable.java
@@ -170,6 +170,11 @@ public class KafkaServerStartable implements 
StreamDataServerStartable {
       runAdminWithRetry(() -> 
adminClient.createTopics(Collections.singletonList(newTopic)).all().get(),
           "create topic: " + topic);
     } catch (Exception e) {
+      if (e instanceof ExecutionException
+          && e.getCause() instanceof 
org.apache.kafka.common.errors.TopicExistsException) {
+        // Topic already exists, skip creation silently
+        return;
+      }
       throw new RuntimeException("Failed to create topic: " + topic, e);
     }
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to