You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "Jackie-Jiang (via GitHub)" <gi...@apache.org> on 2026/04/08 20:48:21 UTC

[PR] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

Jackie-Jiang opened a new pull request, #18137:
URL: https://github.com/apache/pinot/pull/18137

   ## Summary
   
   Currently `COMMITTING_SEGMENT_SIZE` and `NUM_ROWS_THRESHOLD` gauges are only emitted when using the `SegmentSizeBasedFlushThresholdUpdater`. This PR moves the gauge updates into `PinotLLCRealtimeSegmentManager` so they are always emitted regardless of the flush threshold update type (default rows, segment size based, or time based).
   
   Changes:
   - Move `COMMITTING_SEGMENT_SIZE` / `COMMITTING_SEGMENT_SIZE_WITH_TOPIC` gauge updates from `SegmentSizeBasedFlushThresholdUpdater` to `PinotLLCRealtimeSegmentManager`
   - Add `NUM_ROWS_THRESHOLD` / `NUM_ROWS_THRESHOLD_WITH_TOPIC` gauge updates in `PinotLLCRealtimeSegmentManager` after flush threshold is computed
   - Simplify `SegmentSizeBasedFlushThresholdUpdater` by removing metrics dependencies
   - Consolidate duplicate `isPeerURL` method into a single `isPeerUrl` helper with a null check precondition


-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

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

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/18137?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 55.85%. Comparing base ([`f6359d5`](https://app.codecov.io/gh/apache/pinot/commit/f6359d569239379dcb2ab24ce4a5c8272a4f810c?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`bca4286`](https://app.codecov.io/gh/apache/pinot/commit/bca42865884f59b0cbf51669122b8940f4f5c6e3?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
   :warning: Report is 2 commits behind head on master.
   > :exclamation:  There is a different number of reports uploaded between BASE (f6359d5) and HEAD (bca4286). Click for more details.
   > 
   > <details><summary>HEAD has 8 uploads less than BASE</summary>
   >
   >| Flag | BASE (f6359d5) | HEAD (bca4286) |
   >|------|------|------|
   >|unittests1|2|1|
   >|unittests|3|1|
   >|temurin|3|1|
   >|java-11|2|0|
   >|unittests2|1|0|
   ></details>
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #18137      +/-   ##
   ============================================
   - Coverage     63.98%   55.85%   -8.13%     
   + Complexity     1611      822     -789     
   ============================================
     Files          3179     2494     -685     
     Lines        193741   142850   -50891     
     Branches      29926    22986    -6940     
   ============================================
   - Hits         123966    79790   -44176     
   + Misses        59976    56218    -3758     
   + Partials       9799     6842    -2957     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/18137/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [java-11](https://app.codecov.io/gh/apache/pinot/pull/18137/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/18137/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.85% <ø> (+0.02%)` | :arrow_up: |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/18137/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.85% <ø> (-8.13%)` | :arrow_down: |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/18137/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.85% <ø> (-8.13%)` | :arrow_down: |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/18137/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.85% <ø> (-0.01%)` | :arrow_down: |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/18137/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/18137?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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang commented on code in PR #18137:
URL: https://github.com/apache/pinot/pull/18137#discussion_r3054185182


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -791,8 +795,10 @@ private SegmentZKMetadata updateSegmentZKMetadataToDone(String realtimeTableName
     Preconditions.checkState(segmentMetadata != null, "Failed to find segment metadata from descriptor for segment: %s",
         segmentName);
     String segmentLocation = committingSegmentDescriptor.getSegmentLocation();
-    String downloadUrl =
-        isPeerURL(segmentLocation) ? CommonConstants.Segment.METADATA_URI_FOR_PEER_DOWNLOAD : segmentLocation;
+    Preconditions.checkArgument(segmentLocation != null, "Segment location must be provided");
+    String downloadUrl = isPeerUrl(segmentLocation)
+        ? CommonConstants.Segment.METADATA_URI_FOR_PEER_DOWNLOAD
+        : segmentLocation;

Review Comment:
   Download URL should not be null for committed segment



-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

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


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -1041,13 +1043,31 @@ private void createNewSegmentZKMetadata(TableConfig tableConfig, StreamConfig st
     FlushThresholdUpdater flushThresholdUpdater = _flushThresholdUpdateManager.getFlushThresholdUpdater(streamConfig);
     if (committingSegmentZKMetadata != null) {
       flushThresholdUpdater.onSegmentCommit(streamConfig, committingSegmentDescriptor, committingSegmentZKMetadata);
+      updateCommittingSegmentSizeGauge(streamConfig, committingSegmentDescriptor.getSegmentSizeBytes());
     }
     flushThresholdUpdater.updateFlushThreshold(streamConfig, newSegmentZKMetadata,
         getMaxNumPartitionsPerInstance(instancePartitions, numPartitions, numReplicas));
+    updateFlushThresholdGauge(streamConfig, newSegmentZKMetadata.getSizeThresholdToFlushSegment());
 
     persistSegmentZKMetadata(realtimeTableName, newSegmentZKMetadata, -1);
   }
 
+  private void updateCommittingSegmentSizeGauge(StreamConfig streamConfig, long segmentSize) {
+    String realtimeTableName = streamConfig.getTableNameWithType();
+    String topicName = streamConfig.getTopicName();
+    _controllerMetrics.setOrUpdateTableGauge(realtimeTableName, ControllerGauge.COMMITTING_SEGMENT_SIZE, segmentSize);
+    _controllerMetrics.setOrUpdateTableGauge(realtimeTableName, topicName,
+        ControllerGauge.COMMITTING_SEGMENT_SIZE_WITH_TOPIC, segmentSize);
+  }

Review Comment:
   `updateCommittingSegmentSizeGauge()` unconditionally publishes `COMMITTING_SEGMENT_SIZE` using `committingSegmentDescriptor.getSegmentSizeBytes()`. In pauseless ingestion, `SegmentCompletionProtocol` defaults `segmentSizeBytes` to `-1` (when the segment isn't built yet), which will emit an invalid negative size gauge. Consider guarding the update (e.g., only emit when `segmentSize > 0`) or mapping unknown sizes to 0/skip to keep the metric meaningful.



##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -1041,13 +1043,31 @@ private void createNewSegmentZKMetadata(TableConfig tableConfig, StreamConfig st
     FlushThresholdUpdater flushThresholdUpdater = _flushThresholdUpdateManager.getFlushThresholdUpdater(streamConfig);
     if (committingSegmentZKMetadata != null) {
       flushThresholdUpdater.onSegmentCommit(streamConfig, committingSegmentDescriptor, committingSegmentZKMetadata);
+      updateCommittingSegmentSizeGauge(streamConfig, committingSegmentDescriptor.getSegmentSizeBytes());
     }
     flushThresholdUpdater.updateFlushThreshold(streamConfig, newSegmentZKMetadata,
         getMaxNumPartitionsPerInstance(instancePartitions, numPartitions, numReplicas));
+    updateFlushThresholdGauge(streamConfig, newSegmentZKMetadata.getSizeThresholdToFlushSegment());
 

Review Comment:
   New behavior: `PinotLLCRealtimeSegmentManager` now emits `COMMITTING_SEGMENT_SIZE(*)` and `NUM_ROWS_THRESHOLD(*)` gauges. There doesn't appear to be controller-side unit test coverage asserting these metric updates occur for non-size-based flush threshold updaters (e.g., default rows / fixed rows). Consider adding a focused test that drives `createNewSegmentZKMetadata()` (or the relevant commit path) with a mocked `ControllerMetrics` and verifies the expected `setOrUpdateTableGauge` invocations.



##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -791,8 +795,10 @@ private SegmentZKMetadata updateSegmentZKMetadataToDone(String realtimeTableName
     Preconditions.checkState(segmentMetadata != null, "Failed to find segment metadata from descriptor for segment: %s",
         segmentName);
     String segmentLocation = committingSegmentDescriptor.getSegmentLocation();
-    String downloadUrl =
-        isPeerURL(segmentLocation) ? CommonConstants.Segment.METADATA_URI_FOR_PEER_DOWNLOAD : segmentLocation;
+    Preconditions.checkArgument(segmentLocation != null, "Segment location must be provided");
+    String downloadUrl = isPeerUrl(segmentLocation)
+        ? CommonConstants.Segment.METADATA_URI_FOR_PEER_DOWNLOAD
+        : segmentLocation;

Review Comment:
   `updateSegmentZKMetadataToDone()` now enforces `segmentLocation != null` via `Preconditions.checkArgument(...)`, but upstream code paths explicitly allow a blank/absent segment location (they only log a warning when `StringUtils.isBlank(committingSegmentDescriptor.getSegmentLocation())`). Previously, a null `segmentLocation` would flow through and persist metadata with a null downloadUrl; with this change, the commit will fail with `IllegalArgumentException` whenever the server doesn't provide `segmentLocation` (default is `null` in `SegmentCompletionProtocol.Params`). Consider restoring the prior null-tolerant behavior (e.g., handle null/blank by using the peer-download metadata URI or leaving downloadUrl unset) rather than throwing here.
   ```suggestion
       String downloadUrl = null;
       if (StringUtils.isNotBlank(segmentLocation)) {
         downloadUrl = isPeerUrl(segmentLocation)
             ? CommonConstants.Segment.METADATA_URI_FOR_PEER_DOWNLOAD
             : segmentLocation;
       }
   ```



##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -979,6 +985,7 @@ public void commitSegmentMetadataToDone(String realtimeTableName,
         FlushThresholdUpdater flushThresholdUpdater =
             _flushThresholdUpdateManager.getFlushThresholdUpdater(streamConfig);
         flushThresholdUpdater.onSegmentCommit(streamConfig, committingSegmentDescriptor, committingSegmentZKMetadata);
+        updateCommittingSegmentSizeGauge(streamConfig, committingSegmentDescriptor.getSegmentSizeBytes());

Review Comment:
   In `commitSegmentMetadataToDone()`, the `streamConfig` is obtained via `IngestionConfigUtils.getFirstStreamConfig(tableConfig)`, then used for `*_WITH_TOPIC` gauge updates. For tables configured with multiple streams/topics, this can publish the committing segment size under the wrong topic key (and potentially update the wrong per-(table,topic) flush-threshold updater state). Since `segmentName` is available here, consider deriving the partitionGroupId from it and selecting the matching `StreamConfig` (e.g., via `IngestionConfigUtils.getStreamConfigs(tableConfig)` + `getStreamConfigFromPinotPartitionId(...)`).



-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

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


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/segment/CommittingSegmentDescriptor.java:
##########
@@ -70,18 +72,15 @@ public String getSegmentName() {
     return _segmentName;
   }
 
-  public void setSegmentName(String segmentName) {
-    _segmentName = segmentName;
+  public String getNextOffset() {
+    return _nextOffset;
   }

Review Comment:
   `CommittingSegmentDescriptor` fields/methods are non-null by default, but there are in-tree call sites that instantiate it with `segmentName == null` (e.g., internal uses when creating a new CONSUMING segment without a committing segment). To keep nullability contracts consistent (and avoid future NPEs / misleading API), either enforce non-null `segmentName` in constructors or explicitly mark `_segmentName` and `getSegmentName()` (and the constructor parameter) as `@Nullable` and document when it can be null.



-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang commented on code in PR #18137:
URL: https://github.com/apache/pinot/pull/18137#discussion_r3054171515


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -979,6 +985,7 @@ public void commitSegmentMetadataToDone(String realtimeTableName,
         FlushThresholdUpdater flushThresholdUpdater =
             _flushThresholdUpdateManager.getFlushThresholdUpdater(streamConfig);
         flushThresholdUpdater.onSegmentCommit(streamConfig, committingSegmentDescriptor, committingSegmentZKMetadata);
+        updateCommittingSegmentSizeGauge(streamConfig, committingSegmentDescriptor.getSegmentSizeBytes());

Review Comment:
   Orthogonal to the change in this PR



-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

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


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -979,6 +985,7 @@ public void commitSegmentMetadataToDone(String realtimeTableName,
         FlushThresholdUpdater flushThresholdUpdater =
             _flushThresholdUpdateManager.getFlushThresholdUpdater(streamConfig);
         flushThresholdUpdater.onSegmentCommit(streamConfig, committingSegmentDescriptor, committingSegmentZKMetadata);
+        updateCommittingSegmentSizeGauge(streamConfig, committingSegmentDescriptor.getSegmentSizeBytes());

Review Comment:
   I do not think this is fully orthogonal to this PR. `createNewSegmentMetadata()` already resolves the correct `StreamConfig` from the committing segment partition id (`getStreamConfigFromPinotPartitionId(...)`), but this new metric path switches back to `getFirstStreamConfig(tableConfig)`. On pauseless tables configured with multiple streams, `COMMITTING_SEGMENT_SIZE_WITH_TOPIC` will now be emitted under the first topic even when the committed segment belongs to a later stream. Since the user-visible change here is to always emit these gauges, that means the new per-topic metric is incorrect for multi-stream tables unless we derive the stream config from `segmentName` here as well.



-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

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


##########
pinot-controller/src/main/java/org/apache/pinot/controller/helix/core/realtime/PinotLLCRealtimeSegmentManager.java:
##########
@@ -979,6 +985,7 @@ public void commitSegmentMetadataToDone(String realtimeTableName,
         FlushThresholdUpdater flushThresholdUpdater =
             _flushThresholdUpdateManager.getFlushThresholdUpdater(streamConfig);
         flushThresholdUpdater.onSegmentCommit(streamConfig, committingSegmentDescriptor, committingSegmentZKMetadata);
+        updateCommittingSegmentSizeGauge(streamConfig, committingSegmentDescriptor.getSegmentSizeBytes());

Review Comment:
   I do not think this is fully orthogonal to this PR. `createNewSegmentMetadata()` already resolves the correct `StreamConfig` from the committing segment partition id (`getStreamConfigFromPinotPartitionId(...)`), but this new metric path switches back to `getFirstStreamConfig(tableConfig)`. On pauseless tables configured with multiple streams, `COMMITTING_SEGMENT_SIZE_WITH_TOPIC` will now be emitted under the first topic even when the committed segment belongs to a later stream. Since the user-visible change here is to always emit these gauges, that means the new per-topic metric is incorrect for multi-stream tables unless we derive the stream config from `segmentName` here as well.



-- 
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] Always emit COMMITTING_SEGMENT_SIZE and NUM_ROWS_THRESHOLD regardless of the threshold update type [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang merged PR #18137:
URL: https://github.com/apache/pinot/pull/18137


-- 
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