You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2022/11/01 17:54:32 UTC

[GitHub] [pinot] walterddr opened a new pull request, #9702: [multistage][bugfix] fix case-when issue

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

   case when is not parsed the same in SqlNode and RelNode. this address the discrepancy in the compilation between v1 and v2.


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


[GitHub] [pinot] Jackie-Jiang commented on pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
Jackie-Jiang commented on PR #9702:
URL: https://github.com/apache/pinot/pull/9702#issuecomment-1301031767

   Please add some description in the PR to describe the backward incompatibility in certain case. Also, do not mark it as multistage


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


[GitHub] [pinot] Jackie-Jiang commented on a diff in pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
Jackie-Jiang commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1012122737


##########
pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ObjectFunctions.java:
##########
@@ -92,13 +94,40 @@ private static Object coalesceVar(Object... objects) {
     return null;
   }
 
-  @Nullable
-  private static Object coalesce(Object... objects) {
-    for (Object o : objects) {
-      if (o != null) {
-        return o;
+  @ScalarFunction
+  public static Object caseWhen(boolean c1, Object o1, Object oe) {

Review Comment:
   Is the function name `case` or `caseWhen`?



##########
pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CaseTransformFunction.java:
##########
@@ -84,17 +84,40 @@ public void init(List<TransformFunction> arguments, Map<String, DataSource> data
     }
     int numWhenStatements = arguments.size() / 2;
     _whenStatements = new ArrayList<>(numWhenStatements);
+    _elseThenStatements = new ArrayList<>(numWhenStatements + 1);
+    constructStatementList(arguments);
+    _selections = new boolean[_elseThenStatements.size()];
+    Collections.reverse(_elseThenStatements);
+    Collections.reverse(_whenStatements);
+    _resultMetadata = calculateResultMetadata();
+  }
+
+  private void constructStatementList(List<TransformFunction> arguments) {
+    int numWhenStatements = arguments.size() / 2;
+    boolean hasLegacyFormat = false;
+    for (int i = 0; i < numWhenStatements; i++) {
+      if (arguments.get(i * 2).getResultMetadata().getDataType() != DataType.BOOLEAN) {
+        hasLegacyFormat = true;
+        break;

Review Comment:
   (MAJOR) This can break when the first loop didn't break but the second loop break because some wrong arguments already added to the list.
   Also, we should check in favor of the new order. We can check if the first half of the arguments are all boolean, and if the odd index arguments are all boolean. If both are all booleans or both are not all booleans or the first half are all booleans, use the new order; use the legacy one otherwise.



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


[GitHub] [pinot] walterddr merged pull request #9702: [bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
walterddr merged PR #9702:
URL: https://github.com/apache/pinot/pull/9702


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


[GitHub] [pinot] walterddr commented on a diff in pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1012150602


##########
pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CaseTransformFunction.java:
##########
@@ -84,17 +84,40 @@ public void init(List<TransformFunction> arguments, Map<String, DataSource> data
     }
     int numWhenStatements = arguments.size() / 2;
     _whenStatements = new ArrayList<>(numWhenStatements);
+    _elseThenStatements = new ArrayList<>(numWhenStatements + 1);
+    constructStatementList(arguments);
+    _selections = new boolean[_elseThenStatements.size()];
+    Collections.reverse(_elseThenStatements);
+    Collections.reverse(_whenStatements);
+    _resultMetadata = calculateResultMetadata();
+  }
+
+  private void constructStatementList(List<TransformFunction> arguments) {
+    int numWhenStatements = arguments.size() / 2;
+    boolean hasLegacyFormat = false;
+    for (int i = 0; i < numWhenStatements; i++) {
+      if (arguments.get(i * 2).getResultMetadata().getDataType() != DataType.BOOLEAN) {
+        hasLegacyFormat = true;
+        break;

Review Comment:
   `if (all_first_half_are_expression_boolean_type && odd_half_has_non_boolean_type) then use`



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


[GitHub] [pinot] walterddr commented on a diff in pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1012137020


##########
pinot-core/src/main/java/org/apache/pinot/core/operator/transform/function/CaseTransformFunction.java:
##########
@@ -84,17 +84,40 @@ public void init(List<TransformFunction> arguments, Map<String, DataSource> data
     }
     int numWhenStatements = arguments.size() / 2;
     _whenStatements = new ArrayList<>(numWhenStatements);
+    _elseThenStatements = new ArrayList<>(numWhenStatements + 1);
+    constructStatementList(arguments);
+    _selections = new boolean[_elseThenStatements.size()];
+    Collections.reverse(_elseThenStatements);
+    Collections.reverse(_whenStatements);
+    _resultMetadata = calculateResultMetadata();
+  }
+
+  private void constructStatementList(List<TransformFunction> arguments) {
+    int numWhenStatements = arguments.size() / 2;
+    boolean hasLegacyFormat = false;
+    for (int i = 0; i < numWhenStatements; i++) {
+      if (arguments.get(i * 2).getResultMetadata().getDataType() != DataType.BOOLEAN) {
+        hasLegacyFormat = true;
+        break;

Review Comment:
   got it. yeah also this is not in critical path i will just make sure the check occurs afterward by looping it again



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


[GitHub] [pinot] walterddr commented on a diff in pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1012135771


##########
pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ObjectFunctions.java:
##########
@@ -92,13 +94,40 @@ private static Object coalesceVar(Object... objects) {
     return null;
   }
 
-  @Nullable
-  private static Object coalesce(Object... objects) {
-    for (Object o : objects) {
-      if (o != null) {
-        return o;
+  @ScalarFunction
+  public static Object caseWhen(boolean c1, Object o1, Object oe) {

Review Comment:
   operator name is `case`, the relNode function name is `caseWhen`



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


[GitHub] [pinot] walterddr commented on a diff in pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1010755913


##########
pinot-common/src/main/java/org/apache/pinot/sql/parsers/CalciteSqlParser.java:
##########
@@ -717,15 +718,16 @@ private static Expression toExpression(SqlNode node) {
         SqlNodeList thenOperands = caseSqlNode.getThenOperands();
         SqlNode elseOperand = caseSqlNode.getElseOperand();
         Expression caseFuncExpr = RequestUtils.getFunctionExpression("case");
-        for (SqlNode whenSqlNode : whenOperands.getList()) {
+        Preconditions.checkState(whenOperands.size() == thenOperands.size());
+        for (int i = 0; i < whenOperands.size(); i++) {
+          SqlNode whenSqlNode = whenOperands.get(i);

Review Comment:
   handle backward compatibility by check if the entire list of when operands are boolean return type. 



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


[GitHub] [pinot] walterddr commented on a diff in pull request #9702: [bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
walterddr commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1014651863


##########
pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ObjectFunctions.java:
##########
@@ -92,13 +94,40 @@ private static Object coalesceVar(Object... objects) {
     return null;
   }
 
-  @Nullable
-  private static Object coalesce(Object... objects) {
-    for (Object o : objects) {
-      if (o != null) {
-        return o;
+  @ScalarFunction
+  public static Object caseWhen(boolean c1, Object o1, Object oe) {

Review Comment:
   not really. the info passed over to the stages contains SqlOperator and function. it will use SqlOperator to lookup first before using function name. thus v1 engine will correctly composed out the transform version of the "case"; and intermediate stage will use the scalar function correctly. 



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


[GitHub] [pinot] Jackie-Jiang commented on pull request #9702: [bugfix] fix case-when issue

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

   WARNING: This PR is **backward incompatible** because we should not change the format sent by broker before upgrading servers. #10291 is the patch to revert back the broker format


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


[GitHub] [pinot] Jackie-Jiang commented on a diff in pull request #9702: [bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
Jackie-Jiang commented on code in PR #9702:
URL: https://github.com/apache/pinot/pull/9702#discussion_r1014576988


##########
pinot-common/src/main/java/org/apache/pinot/common/function/scalar/ObjectFunctions.java:
##########
@@ -92,13 +94,40 @@ private static Object coalesceVar(Object... objects) {
     return null;
   }
 
-  @Nullable
-  private static Object coalesce(Object... objects) {
-    for (Object o : objects) {
-      if (o != null) {
-        return o;
+  @ScalarFunction
+  public static Object caseWhen(boolean c1, Object o1, Object oe) {

Review Comment:
   Interesting.. But does that mean these functions won't be recognized by v1 engine because the function name is `case`?



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


[GitHub] [pinot] codecov-commenter commented on pull request #9702: [multistage][bugfix] fix case-when issue

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on PR #9702:
URL: https://github.com/apache/pinot/pull/9702#issuecomment-1299343165

   # [Codecov](https://codecov.io/gh/apache/pinot/pull/9702?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
   > Merging [#9702](https://codecov.io/gh/apache/pinot/pull/9702?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (414e0fc) into [master](https://codecov.io/gh/apache/pinot/commit/91fa86b2a30e1d7ec0ac57f5ce4e22b42ad5cb4e?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (91fa86b) will **increase** coverage by `41.88%`.
   > The diff coverage is `82.35%`.
   
   ```diff
   @@              Coverage Diff              @@
   ##             master    #9702       +/-   ##
   =============================================
   + Coverage     28.13%   70.01%   +41.88%     
   - Complexity       53     5326     +5273     
   =============================================
     Files          1936     1950       +14     
     Lines        103927   104332      +405     
     Branches      15770    15806       +36     
   =============================================
   + Hits          29235    73044    +43809     
   + Misses        71832    26167    -45665     
   - Partials       2860     5121     +2261     
   ```
   
   | Flag | Coverage Δ | |
   |---|---|---|
   | integration1 | `25.42% <10.29%> (+0.01%)` | :arrow_up: |
   | integration2 | `24.73% <8.33%> (+0.05%)` | :arrow_up: |
   | unittests1 | `67.44% <82.35%> (?)` | |
   | unittests2 | `15.69% <71.56%> (?)` | |
   
   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=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
   
   | [Impacted Files](https://codecov.io/gh/apache/pinot/pull/9702?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
   |---|---|---|
   | [...ot/common/function/scalar/ComparisonFunctions.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vZnVuY3Rpb24vc2NhbGFyL0NvbXBhcmlzb25GdW5jdGlvbnMuamF2YQ==) | `42.85% <ø> (+5.35%)` | :arrow_up: |
   | [.../pinot/common/function/scalar/ObjectFunctions.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vZnVuY3Rpb24vc2NhbGFyL09iamVjdEZ1bmN0aW9ucy5qYXZh) | `73.07% <55.55%> (+73.07%)` | :arrow_up: |
   | [...ator/transform/function/CaseTransformFunction.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci90cmFuc2Zvcm0vZnVuY3Rpb24vQ2FzZVRyYW5zZm9ybUZ1bmN0aW9uLmphdmE=) | `59.45% <70.00%> (+23.71%)` | :arrow_up: |
   | [...org/apache/pinot/sql/parsers/CalciteSqlParser.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zcWwvcGFyc2Vycy9DYWxjaXRlU3FsUGFyc2VyLmphdmE=) | `84.17% <75.00%> (+15.82%)` | :arrow_up: |
   | [...t/query/runtime/plan/ServerRequestPlanVisitor.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcnVudGltZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvcnVudGltZS9wbGFuL1NlcnZlclJlcXVlc3RQbGFuVmlzaXRvci5qYXZh) | `78.57% <78.57%> (ø)` | |
   | [...va/org/apache/pinot/query/runtime/QueryRunner.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcnVudGltZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvcnVudGltZS9RdWVyeVJ1bm5lci5qYXZh) | `81.55% <90.00%> (+81.55%)` | :arrow_up: |
   | [...e/pinot/query/runtime/plan/PlanRequestContext.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcnVudGltZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvcnVudGltZS9wbGFuL1BsYW5SZXF1ZXN0Q29udGV4dC5qYXZh) | `92.85% <92.85%> (ø)` | |
   | [...ot/query/runtime/executor/WorkerQueryExecutor.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcnVudGltZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvcnVudGltZS9leGVjdXRvci9Xb3JrZXJRdWVyeUV4ZWN1dG9yLmphdmE=) | `100.00% <100.00%> (+100.00%)` | :arrow_up: |
   | [.../pinot/query/runtime/plan/PhysicalPlanVisitor.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcnVudGltZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvcnVudGltZS9wbGFuL1BoeXNpY2FsUGxhblZpc2l0b3IuamF2YQ==) | `96.87% <100.00%> (ø)` | |
   | [.../runtime/plan/server/ServerPlanRequestContext.java](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-cGlub3QtcXVlcnktcnVudGltZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvcXVlcnkvcnVudGltZS9wbGFuL3NlcnZlci9TZXJ2ZXJQbGFuUmVxdWVzdENvbnRleHQuamF2YQ==) | `100.00% <100.00%> (ø)` | |
   | ... and [1335 more](https://codecov.io/gh/apache/pinot/pull/9702/diff?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | |
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
   


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