You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "albertobastos (via GitHub)" <gi...@apache.org> on 2025/03/12 12:23:05 UTC

[PR] Improve bad queries (with excessive number of groups) observability [pinot]

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

   This PR focuses on improving the observability for queries that may lead to a cluster performance degradation.
   
   In particular, it is focused on group-by queries that lead to an excessive number of groups to be processed.
   
   The following changes are done:
   
   - Change the `LOGGER` statement that traces all incoming query from `DEBUG` to `INFO`. Without it, queries are not logged until they are finished which does not help troubleshooting the latest queries against a cluster presenting issues.
   
   ```
   2025/03/12 13:19:33.174 INFO [BaseSingleStageBrokerRequestHandler] [jersey-server-managed-async-executor-4] SQL query for request 2067850605000000001: select * from airlineStats limit 10
   ```
   
   - Create a new `num.groups.limit.default.warn.factor` Server configuration parameter with `1.5` as default value. When a group by operator detects that more than `default num.groups.limit * num.groups.limit.default.warn.factor` groups are created, it will emit a warning message such as:
   
   ```
   WARN ... [qid=xxx] Query number of groups above warning limit: 150000 (actual: 197312).
   ```
   
   - Add a `numGroups` attribute to the Broker response, next to the already existing `numGroupsLimitReached` attribute. When the latter is `true`, the `numGroups` will match the configured limit. Otherwise, it will show the total number of groups processed by the query. For non-aggregated queries the value will be `0`.
   
   - Add a new **Server metric** named `aggregateTimesNumGroupsLimitWarning` with the number of times the warning message from above has been logged.


-- 
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] Improve bad queries (with excessive number of groups) observability [pinot]

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


##########
pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByCombineOperator.java:
##########
@@ -123,6 +124,7 @@ protected void processSegments() {
         if (resultsBlock.isNumGroupsLimitReached()) {
           _numGroupsLimitReached = true;
         }
+        _numGroups = resultsBlock.getNumGroups();

Review Comment:
   This code can be called more than once. In fact what I think you should be doing is to increase `_numGroups` by `mergedKeys`, which is calculated below.



##########
pinot-common/src/main/java/org/apache/pinot/common/metrics/ServerMeter.java:
##########
@@ -148,6 +148,14 @@ public enum ServerMeter implements AbstractMetrics.Meter {
    * by 2.
    */
   AGGREGATE_TIMES_NUM_GROUPS_LIMIT_REACHED("times", true),
+  /**
+   * Number of times the number of groups has reached the warning limit.
+   * It is increased at most one by one each time per stage.
+   * That means that if a stage has 10 workers and all of them reach the limit, this will be increased by 1.
+   * But if a single query has 2 different aggregate operators and each one reaches the limit, this will be increased
+   * by 2.
+   */
+  AGGREGATE_TIMES_NUM_GROUPS_LIMIT_WARNING("times", true),

Review Comment:
   Probably we would also like to have a similar metric but not global



-- 
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] Improve bad queries (with excessive number of groups) observability [pinot]

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

   Closing this PR because the added feature will be splitted into differents pull requests:
   
   - Switching `log.debug` to `log.info` for queries on request receival: https://github.com/apache/pinot/pull/15264
   - Add a warning log when `numGroups` exceeds a certain threshold determined by server configuration: https://github.com/apache/pinot/pull/15278
   - Add a new stat `numGroupsWarningLimitReached`: https://github.com/apache/pinot/pull/15279
   - Add a new metric `aggregatedTimesNumGroupsWarningLimitReached`: https://github.com/apache/pinot/pull/15280


-- 
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] Improve bad queries (with excessive number of groups) observability [pinot]

Posted by "albertobastos (via GitHub)" <gi...@apache.org>.
albertobastos closed pull request #15254: Improve bad queries (with excessive number of groups) observability
URL: https://github.com/apache/pinot/pull/15254


-- 
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] Improve bad queries (with excessive number of groups) observability [pinot]

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

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/15254?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   Attention: Patch coverage is `73.01587%` with `17 lines` in your changes missing coverage. Please review.
   > Project coverage is 63.52%. Comparing base [(`59551e4`)](https://app.codecov.io/gh/apache/pinot/commit/59551e45224f1535c4863fd577622b37366ccc97?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) to head [(`cf2318d`)](https://app.codecov.io/gh/apache/pinot/commit/cf2318d6af4345c49f812d6f82776b6a3ca4ec0e?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
   > Report is 1837 commits behind head on master.
   
   | [Files with missing lines](https://app.codecov.io/gh/apache/pinot/pull/15254?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
   |---|---|---|
   | [...t/core/operator/query/FilteredGroupByOperator.java](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&filepath=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Fquery%2FFilteredGroupByOperator.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9xdWVyeS9GaWx0ZXJlZEdyb3VwQnlPcGVyYXRvci5qYXZh) | 25.00% | [5 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...che/pinot/core/operator/query/GroupByOperator.java](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&filepath=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Fquery%2FGroupByOperator.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9xdWVyeS9Hcm91cEJ5T3BlcmF0b3IuamF2YQ==) | 37.50% | [4 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [.../apache/pinot/spi/trace/DefaultRequestContext.java](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&filepath=pinot-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fspi%2Ftrace%2FDefaultRequestContext.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3Qtc3BpL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zcGkvdHJhY2UvRGVmYXVsdFJlcXVlc3RDb250ZXh0LmphdmE=) | 0.00% | [3 Missing :warning: ](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...n/java/org/apache/pinot/client/ExecutionStats.java](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&filepath=pinot-clients%2Fpinot-java-client%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fclient%2FExecutionStats.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY2xpZW50cy9waW5vdC1qYXZhLWNsaWVudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY2xpZW50L0V4ZWN1dGlvblN0YXRzLmphdmE=) | 50.00% | [0 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...common/response/broker/BrokerResponseNativeV2.java](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&filepath=pinot-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcommon%2Fresponse%2Fbroker%2FBrokerResponseNativeV2.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcmVzcG9uc2UvYnJva2VyL0Jyb2tlclJlc3BvbnNlTmF0aXZlVjIuamF2YQ==) | 80.00% | [1 Missing :warning: ](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   | [...t/common/response/broker/CursorResponseNative.java](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&filepath=pinot-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcommon%2Fresponse%2Fbroker%2FCursorResponseNative.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcmVzcG9uc2UvYnJva2VyL0N1cnNvclJlc3BvbnNlTmF0aXZlLmphdmE=) | 0.00% | [1 Missing :warning: ](https://app.codecov.io/gh/apache/pinot/pull/15254?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
   
   <details><summary>Additional details and impacted files</summary>
   
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #15254      +/-   ##
   ============================================
   + Coverage     61.75%   63.52%   +1.77%     
   - Complexity      207     1367    +1160     
   ============================================
     Files          2436     2772     +336     
     Lines        133233   156299   +23066     
     Branches      20636    23982    +3346     
   ============================================
   + Hits          82274    99288   +17014     
   - Misses        44911    49520    +4609     
   - Partials       6048     7491    +1443     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/15254/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/15254/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/15254/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/15254/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/15254/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/15254/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/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `63.52% <73.01%> (+1.89%)` | :arrow_up: |
   | [skip-bytebuffers-false](https://app.codecov.io/gh/apache/pinot/pull/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `63.49% <73.01%> (+1.74%)` | :arrow_up: |
   | [skip-bytebuffers-true](https://app.codecov.io/gh/apache/pinot/pull/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `63.50% <73.01%> (+35.77%)` | :arrow_up: |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `63.52% <73.01%> (+1.77%)` | :arrow_up: |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `63.52% <73.01%> (+1.77%)` | :arrow_up: |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.99% <71.42%> (+9.10%)` | :arrow_up: |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/15254/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `34.18% <15.87%> (+6.44%)` | :arrow_up: |
   
   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/15254?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>🚀 New features to boost your workflow: </summary>
   
   - ❄ [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems.
   - 📦 [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] Improve bad queries (with excessive number of groups) observability [pinot]

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


##########
pinot-core/src/main/java/org/apache/pinot/core/operator/combine/GroupByCombineOperator.java:
##########
@@ -123,6 +124,7 @@ protected void processSegments() {
         if (resultsBlock.isNumGroupsLimitReached()) {
           _numGroupsLimitReached = true;
         }
+        _numGroups = resultsBlock.getNumGroups();

Review Comment:
   As we discussed this new stat is not reliable for MSE queries, so for now we avoid adding it.



##########
pinot-common/src/main/java/org/apache/pinot/common/metrics/ServerMeter.java:
##########
@@ -148,6 +148,14 @@ public enum ServerMeter implements AbstractMetrics.Meter {
    * by 2.
    */
   AGGREGATE_TIMES_NUM_GROUPS_LIMIT_REACHED("times", true),
+  /**
+   * Number of times the number of groups has reached the warning limit.
+   * It is increased at most one by one each time per stage.
+   * That means that if a stage has 10 workers and all of them reach the limit, this will be increased by 1.
+   * But if a single query has 2 different aggregate operators and each one reaches the limit, this will be increased
+   * by 2.
+   */
+  AGGREGATE_TIMES_NUM_GROUPS_LIMIT_WARNING("times", true),

Review Comment:
   Added two metrics, global and non-global.



-- 
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] Improve bad queries (with excessive number of groups) observability [pinot]

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


##########
pinot-common/src/main/java/org/apache/pinot/common/metrics/ServerMeter.java:
##########
@@ -148,6 +148,15 @@ public enum ServerMeter implements AbstractMetrics.Meter {
    * by 2.
    */
   AGGREGATE_TIMES_NUM_GROUPS_LIMIT_REACHED("times", true),
+  /**
+   * Number of times the number of groups has reached the warning limit.
+   * It is increased at most one by one each time per stage.
+   * That means that if a stage has 10 workers and all of them reach the limit, this will be increased by 1.
+   * But if a single query has 2 different aggregate operators and each one reaches the limit, this will be increased
+   * by 2.
+   */

Review Comment:
   It looks like this value is only increased in SSE. Could we increase it in MSE as well? We could do the same trick we do with `AggregateOperator.StatKey.NUM_GROUPS_LIMIT_REACHED`: Introduce a new key saying whether we reached the logging limit or not.
   
   We should also log in AggregateOperator in the same way we log in SSE



##########
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/BaseSingleStageBrokerRequestHandler.java:
##########
@@ -297,7 +297,7 @@ protected BrokerResponse handleRequest(long requestId, String query, SqlNodeAndO
       JsonNode request, @Nullable RequesterIdentity requesterIdentity, RequestContext requestContext,
       @Nullable HttpHeaders httpHeaders, AccessControl accessControl)
       throws Exception {
-    LOGGER.debug("SQL query for request {}: {}", requestId, query);
+    LOGGER.info("SQL query for request {}: {}", requestId, query);

Review Comment:
   Ideally, this change could be in its own PR, or at least we should include a note in the PR description indicating that.



##########
pinot-common/src/main/java/org/apache/pinot/common/response/broker/CursorResponseNative.java:
##########
@@ -28,12 +28,12 @@
     "requestId", "brokerId", "numDocsScanned", "totalDocs", "numEntriesScannedInFilter", "numEntriesScannedPostFilter",
     "numServersQueried", "numServersResponded", "numSegmentsQueried", "numSegmentsProcessed", "numSegmentsMatched",
     "numConsumingSegmentsQueried", "numConsumingSegmentsProcessed", "numConsumingSegmentsMatched",
-    "minConsumingFreshnessTimeMs", "numSegmentsPrunedByBroker", "numSegmentsPrunedByServer",
-    "numSegmentsPrunedInvalid", "numSegmentsPrunedByLimit", "numSegmentsPrunedByValue", "brokerReduceTimeMs",
-    "offlineThreadCpuTimeNs", "realtimeThreadCpuTimeNs", "offlineSystemActivitiesCpuTimeNs",
-    "realtimeSystemActivitiesCpuTimeNs", "offlineResponseSerializationCpuTimeNs",
-    "realtimeResponseSerializationCpuTimeNs", "offlineTotalCpuTimeNs", "realtimeTotalCpuTimeNs",
-    "explainPlanNumEmptyFilterSegments", "explainPlanNumMatchAllFilterSegments", "traceInfo", "tableQueries",
+    "minConsumingFreshnessTimeMs", "numSegmentsPrunedByBroker", "numSegmentsPrunedByServer", "numSegmentsPrunedInvalid",
+    "numSegmentsPrunedByLimit", "numSegmentsPrunedByValue", "brokerReduceTimeMs", "offlineThreadCpuTimeNs",
+    "realtimeThreadCpuTimeNs", "offlineSystemActivitiesCpuTimeNs", "realtimeSystemActivitiesCpuTimeNs",
+    "offlineResponseSerializationCpuTimeNs", "realtimeResponseSerializationCpuTimeNs", "offlineTotalCpuTimeNs",
+    "realtimeTotalCpuTimeNs", "explainPlanNumEmptyFilterSegments", "explainPlanNumMatchAllFilterSegments", "traceInfo",
+    "tableQueries",

Review Comment:
   We don't need to modify this file anymore, right?



##########
pinot-common/src/main/java/org/apache/pinot/common/metrics/ServerMeter.java:
##########
@@ -148,6 +148,15 @@ public enum ServerMeter implements AbstractMetrics.Meter {
    * by 2.
    */
   AGGREGATE_TIMES_NUM_GROUPS_LIMIT_REACHED("times", true),
+  /**
+   * Number of times the number of groups has reached the warning limit.
+   * It is increased at most one by one each time per stage.
+   * That means that if a stage has 10 workers and all of them reach the limit, this will be increased by 1.
+   * But if a single query has 2 different aggregate operators and each one reaches the limit, this will be increased
+   * by 2.
+   */

Review Comment:
   We may also want to log/increase the metric in GroupByCombineOperator and distinct operators?



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