You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "Abhishek01911 (via GitHub)" <gi...@apache.org> on 2026/02/09 17:01:53 UTC

[PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Abhishek01911 opened a new pull request, #17669:
URL: https://github.com/apache/pinot/pull/17669

   Summary
   
   Resolves Issue https://github.com/apache/pinot/issues/17045
   
   This PR fixes an issue where an exception in fetchPartitionCount, often caused by a deleted topic, would halt ingestion for an entire multi-topic table. By catching this exception, the failure is now isolated. Partitions for the deleted topic will get stuck in a "consuming" state, but ingestion from all other valid topics will continue unaffected.
   
   If the table has single kafka topic, the partitions for single topic will get stuck in a "consuming" state. No exception is thrown by pinot.
   
   Testing
   
   Tested on 2 sets of pinot table. 
   1. Single Topic table - https://pinot-controller-logging-staging1-odin-dca.uberinternal.com/#/tenants/table/loggingstaging_co_test1_REALTIME 
   
   No exception was thrown without the change for a single topic table
   <img width="377" height="380" alt="Screenshot 2026-02-09 at 8 57 57 AM" src="https://github.com/user-attachments/assets/a0750119-b769-4fa9-a261-ac7ceb0d0a81" />
   Exception was thrown with the change for a single topic table
   <img width="740" height="758" alt="Screenshot 2026-02-09 at 8 58 28 AM" src="https://github.com/user-attachments/assets/a2342c7c-bc03-448d-ae3e-ec19cfa7913c" />
   
   
   2. Multi Topic table - https://pinot-controller-logging-staging1-odin-dca.uberinternal.com/#/tenants/table/loggingstaging_test_topic_deletion_REALTIME 
   
   Validated multi topic table was able to ingest data even after kafka topic was deleted
   <img width="754" height="753" alt="Screenshot 2026-02-09 at 9 01 09 AM" src="https://github.com/user-attachments/assets/a7de52c0-e76a-48cb-b0c7-d6e37da57747" />
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2849775607


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/StreamConfigProperties.java:
##########
@@ -48,6 +48,7 @@ private StreamConfigProperties() {
   public static final String GROUP_ID = "hlc.group.id";
   public static final String PARTITION_MSG_OFFSET_FACTORY_CLASS = "partition.offset.factory.class.name";
   public static final String TOPIC_CONSUMPTION_RATE_LIMIT = "topic.consumption.rate.limit";
+  public static final String SKIP_MISSING_TOPICS = "skip.missing.topics";

Review Comment:
   This isn't a generic property really. Can we create a new section for multitopic related configs and place it there with proper prefix and explanation?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "rseetham (via GitHub)" <gi...@apache.org>.
rseetham commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r3306665160


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -147,4 +163,34 @@ private Boolean fetchMultipleStreams()
     }
     return Boolean.TRUE;
   }
+
+  /**
+   * Fetches available topic names from the stream provider.
+   * Uses the first stream config to fetch topics.
+   *
+   * @return Set of available topic names, or null if topics could not be fetched or skip missing topics is disabled
+   */
+  private Set<String> fetchAvailableTopicNames() {
+    if (!_multitopicSkipMissingTopics || _streamConfigs.isEmpty()) {
+      return null;
+    }
+
+    StreamConfig streamConfigForTopicFetch = _streamConfigs.get(0);
+
+    String clientId = PartitionGroupMetadataFetcher.class.getSimpleName() + "-topicFetch-"
+        + streamConfigForTopicFetch.getTableNameWithType();
+    StreamConsumerFactory factory = StreamConsumerFactoryProvider.create(streamConfigForTopicFetch);
+
+    try (StreamMetadataProvider provider = factory.createStreamMetadataProvider(clientId)) {
+      return provider.getTopics().stream()
+          .map(StreamMetadataProvider.TopicMetadata::getName)
+          .collect(Collectors.toSet());
+    } catch (UnsupportedOperationException e) {
+      LOGGER.debug("getTopics() not supported for stream type, skipping topic existence validation");
+      return null;
+    } catch (Exception e) {

Review Comment:
   Even TransientConsumerException will get flagged as missing topic which is not true. So you can't mark it as a missing topic every time.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2849783820


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -102,6 +103,10 @@ private Boolean fetchSingleStream()
   private Boolean fetchMultipleStreams()
       throws Exception {
     int numStreams = _streamConfigs.size();
+
+    // Fetch available topics once and reuse across all streams (for topic existence validation)

Review Comment:
   Please clarify this comment



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2801915247


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -122,6 +122,20 @@ private Boolean fetchMultipleStreams()
               .collect(Collectors.toList());
       try (StreamMetadataProvider streamMetadataProvider = streamConsumerFactory.createStreamMetadataProvider(
           StreamConsumerFactory.getUniqueClientId(clientId))) {
+
+        // Check if the topic exists before fetching partition metadata
+        try {
+          List<StreamMetadataProvider.TopicMetadata> topics = streamMetadataProvider.getTopics();

Review Comment:
   We can collect this list once, outside the loop.



##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -122,6 +122,20 @@ private Boolean fetchMultipleStreams()
               .collect(Collectors.toList());
       try (StreamMetadataProvider streamMetadataProvider = streamConsumerFactory.createStreamMetadataProvider(
           StreamConsumerFactory.getUniqueClientId(clientId))) {
+
+        // Check if the topic exists before fetching partition metadata
+        try {
+          List<StreamMetadataProvider.TopicMetadata> topics = streamMetadataProvider.getTopics();
+          boolean topicExists = topics.stream().anyMatch(t -> t.getName().equals(topicName));
+          if (!topicExists) {
+            LOGGER.warn("Topic {} does not exist. Skipping this topic from ingestion.", topicName);
+            continue;
+          }
+        } catch (Exception e) {

Review Comment:
   Can we add a more granular error check here? 
   We can add 'debug' log on `UnsupportedOperationException` cases and a 'warn' with exception details on others.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2835518876


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -33,6 +34,7 @@
  */
 public class PartitionGroupMetadataFetcher implements Callable<Boolean> {
   private static final Logger LOGGER = LoggerFactory.getLogger(PartitionGroupMetadataFetcher.class);
+  private static final String TOPIC_EXISTENCE_CHECK_ENABLED = TOPIC_EXISTENCE_CHECK_ENABLED;

Review Comment:
   Where does this come from? Looks like it shouldn't even compile.
   
   Please make sure to test it thoroughly before review, otherwise it is unbounded back and forth.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2849781741


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -122,6 +127,17 @@ private Boolean fetchMultipleStreams()
               .collect(Collectors.toList());
       try (StreamMetadataProvider streamMetadataProvider = streamConsumerFactory.createStreamMetadataProvider(
           StreamConsumerFactory.getUniqueClientId(clientId))) {
+
+        // Check if the topic exists before fetching partition metadata
+        // Only perform this check if topic existence validation is enabled and topics were fetched

Review Comment:
   Since we renamed the config (and the variable), please update the comment accordingly.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "Abhishek01911 (via GitHub)" <gi...@apache.org>.
Abhishek01911 closed pull request #17669: Fix: Handle kafka topic not found exception in fetchPartitionCount fu…
URL: https://github.com/apache/pinot/pull/17669


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "rseetham (via GitHub)" <gi...@apache.org>.
rseetham commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r3306656225


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/PartitionGroupMetadataFetcher.java:
##########
@@ -102,6 +105,11 @@ private Boolean fetchSingleStream()
   private Boolean fetchMultipleStreams()
       throws Exception {
     int numStreams = _streamConfigs.size();
+
+    // For multi topic tables - Fetch available topics once and reuse across all streams
+    // (for topic existence validation)
+    Set<String> availableTopicNames = fetchAvailableTopicNames();

Review Comment:
   I have a change to clean up this just this PartitionGroupMetadataFetcher failure which I think does this cleaner: https://github.com/apache/pinot/pull/18560
   
   You're doing 
   `try (StreamMetadataProvider provider = factory.createStreamMetadataProvider(clientId))`
   fetch twice as it's written now in the happy case, once to find available topic and once for the actual fetch. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #17669:
URL: https://github.com/apache/pinot/pull/17669#issuecomment-3955141395

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/17669?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :x: Patch coverage is `74.07407%` with `7 lines` in your changes missing coverage. Please review.
   :white_check_mark: Project coverage is 55.54%. Comparing base ([`a5eae57`](https://app.codecov.io/gh/apache/pinot/commit/a5eae57fc81fa7232e1199d45b9b19817b0e611c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`8420429`](https://app.codecov.io/gh/apache/pinot/commit/8420429ec393a34b6298860b7e164af89173d1a2?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 69 commits behind head on master.
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/pinot/pull/17669?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [...inot/spi/stream/PartitionGroupMetadataFetcher.java](https://app.codecov.io/gh/apache/pinot/pull/17669?src=pr&el=tree&filepath=pinot-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fspi%2Fstream%2FPartitionGroupMetadataFetcher.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3Qtc3BpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zcGkvc3RyZWFtL1BhcnRpdGlvbkdyb3VwTWV0YWRhdGFGZXRjaGVyLmphdmE=) | 74.07% | [6 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/17669?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   > :exclamation:  There is a different number of reports uploaded between BASE (a5eae57) and HEAD (8420429). Click for more details.
   > 
   > <details><summary>HEAD has 32 uploads less than BASE</summary>
   >
   >| Flag | BASE (a5eae57) | HEAD (8420429) |
   >|------|------|------|
   >|java-21|5|1|
   >|unittests1|2|1|
   >|unittests|3|1|
   >|temurin|9|1|
   >|java-11|4|0|
   >|unittests2|1|0|
   >|integration|6|0|
   >|integration2|2|0|
   >|integration1|2|0|
   >|custom-integration1|2|0|
   ></details>
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #17669      +/-   ##
   ============================================
   - Coverage     63.22%   55.54%   -7.69%     
   + Complexity     1499      720     -779     
   ============================================
     Files          3174     2478     -696     
     Lines        190319   140637   -49682     
     Branches      29080    22401    -6679     
   ============================================
   - Hits         120338    78117   -42221     
   + Misses        60643    55919    -4724     
   + Partials       9338     6601    -2737     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [custom-integration1](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [integration](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [integration1](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [integration2](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java-11](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java-21](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.54% <74.07%> (-7.67%)` | :arrow_down: |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.54% <74.07%> (-7.69%)` | :arrow_down: |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.54% <74.07%> (-7.69%)` | :arrow_down: |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.54% <74.07%> (-0.07%)` | :arrow_down: |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/17669/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   
   Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
   </details>
   
   [:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/apache/pinot/pull/17669?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).   
   :loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   <details><summary> :rocket: New features to boost your workflow: </summary>
   
   - :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
   </details>


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2849775607


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/StreamConfigProperties.java:
##########
@@ -48,6 +48,7 @@ private StreamConfigProperties() {
   public static final String GROUP_ID = "hlc.group.id";
   public static final String PARTITION_MSG_OFFSET_FACTORY_CLASS = "partition.offset.factory.class.name";
   public static final String TOPIC_CONSUMPTION_RATE_LIMIT = "topic.consumption.rate.limit";
+  public static final String SKIP_MISSING_TOPICS = "skip.missing.topics";

Review Comment:
   This isn't a generic property really. Can we create a new section for multitopic related configs and place it there with proper prefix and explanation?
   Something like
   ```
   MULTITOPIC_SKIP_MISSING_TOPICS = "multitopic.skip.missing.topics";
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org


Re: [PR] Fix: Handle kafka topic not found exception in fetchPartitionCount fu… [pinot]

Posted by "cbalci (via GitHub)" <gi...@apache.org>.
cbalci commented on code in PR #17669:
URL: https://github.com/apache/pinot/pull/17669#discussion_r2784776746


##########
pinot-spi/src/main/java/org/apache/pinot/spi/stream/StreamMetadataProvider.java:
##########
@@ -89,7 +92,28 @@ StreamPartitionMsgOffset fetchStreamPartitionOffset(OffsetCriteria offsetCriteri
   default List<PartitionGroupMetadata> computePartitionGroupMetadata(String clientId, StreamConfig streamConfig,
       List<PartitionGroupConsumptionStatus> partitionGroupConsumptionStatuses, int timeoutMillis)
       throws IOException, TimeoutException {
-    int partitionCount = fetchPartitionCount(timeoutMillis);
+
+    int partitionCount;
+    try {
+      partitionCount = fetchPartitionCount(timeoutMillis);
+    } catch (RuntimeException e) {

Review Comment:
   I don't think we want to swallow all runtime exceptions here. Single topic setups may suffer if there is a an unrelated exception and we are left with zero partitions and a 'WARN' log.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org