Re: [I] [multistage] Subqueries return different results depending on where clause [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on issue #12949:
URL: https://github.com/apache/pinot/issues/12949#issuecomment-2071169310

   @gortiz Can you help take a look at this query?


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Multi stage stats [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on code in PR #12704:
URL: https://github.com/apache/pinot/pull/12704#discussion_r1575464681


##
pinot-common/src/main/java/org/apache/pinot/common/response/broker/BrokerResponseNative.java:
##
@@ -51,6 +59,7 @@
 "segmentStatistics", "traceInfo", "partialResult"
 })
 public class BrokerResponseNative implements BrokerResponse {

Review Comment:
   I'm trying to follow the changes in this class. This class represents the 
response for v1 queries. Currently (before this PR) we have a 
`BrokerResponseNativeV2` which extends the v1 query response with just an 
additional stage id stats list. I feel we should use this opportunity to clean 
them up and decouple the v2 response format from the v1 format because a lot of 
things do not apply for v2, and with v2 stats we don't really need the extra 
fields in this class.
   I guess the intention here is to keep things compatible with the current 
interface. Shall we keep the changes within `BrokerResponseNativeV2` if 
possible? We can make it directly implements `BrokerResponse` so that we can 
easily decouple v1 and v2 in the future



##
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java:
##
@@ -276,6 +264,161 @@ protected BrokerResponse handleRequest(long requestId, 
String query, @Nullable S
 return brokerResponse;
   }
 
+  private void fillOldBrokerResponseStats(BrokerResponseNativeV2 
brokerResponse,
+  List queryStats, 
DispatchableSubPlan dispatchableSubPlan) {
+for (int i = 0; i < queryStats.size(); i++) {
+  MultiStageQueryStats.StageStats.Closed stageStats = queryStats.get(i);
+  if (stageStats == null) {

Review Comment:
   For my understanding, will this ever contain `null` value? Is this for the 
broker stage (stage 0)? If so, some comments can help understanding the code



##
pinot-query-runtime/src/main/java/org/apache/pinot/query/mailbox/ReceivingMailbox.java:
##
@@ -72,11 +81,53 @@ public String getId() {
 return _id;
   }
 
+  /**
+   * Offers a raw block into the mailbox within the timeout specified, returns 
whether the block is successfully added.
+   * If the block is not added, an error block is added to the mailbox.
+   * 
+   * Contrary to {@link #offer(TransferableBlock, long)}, the block may be an
+   * {@link TransferableBlock#isErrorBlock() error block}.
+   */
+  public ReceivingMailboxStatus offerRaw(ByteBuffer byteBuffer, long timeoutMs)
+  throws IOException {
+TransferableBlock block;
+long now = System.currentTimeMillis();
+_stats.merge(StatKey.WAIT_CPU_TIME_MS, now - _lastArriveTime);
+_lastArriveTime = now;
+_stats.merge(StatKey.DESERIALIZED_BYTES, byteBuffer.remaining());
+_stats.merge(StatKey.DESERIALIZED_MESSAGES, 1);
+
+now = System.currentTimeMillis();
+DataBlock dataBlock = DataBlockUtils.getDataBlock(byteBuffer);
+_stats.merge(StatKey.DESERIALIZATION_TIME_MS, System.currentTimeMillis() - 
now);
+
+if (dataBlock instanceof MetadataBlock) {
+  Map exceptions = dataBlock.getExceptions();
+  if (exceptions.isEmpty()) {
+block = TransferableBlockUtils.wrap(dataBlock);
+  } else {
+
setErrorBlock(TransferableBlockUtils.getErrorTransferableBlock(exceptions));
+return ReceivingMailboxStatus.FIRST_ERROR;

Review Comment:
   `FIRST_ERROR` is a little bit confusing. I think this means the error block 
is successfully set? Maybe make it more explicit like `ERROR_BLOCK_SET`?



##
pinot-common/src/main/java/org/apache/pinot/common/datablock/V1MetadataBlock.java:
##
@@ -0,0 +1,165 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.pinot.common.datablock;
+
+import com.fasterxml.jackson.annotation.JsonCreator;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.common.annotations.VisibleForTesting;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Map;
+
+

(pinot) branch master updated: handle absent segments so that catchup checker doesn't get stuck on them (#12883)

2024-04-22 Thread xbli
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 8e10320595 handle absent segments so that catchup checker doesn't get 
stuck on them (#12883)
8e10320595 is described below

commit 8e103205955e8af4fe286ebd6e97b30605724be2
Author: Xiaobing <61892277+klsi...@users.noreply.github.com>
AuthorDate: Mon Apr 22 16:41:46 2024 -0700

handle absent segments so that catchup checker doesn't get stuck on them 
(#12883)

* skip missing segments while checking freshness during server startup

* get new consuming segments again if current consuming segments are 
committed by other servers
---
 .../server/starter/helix/BaseServerStarter.java|  71 +++-
 .../FreshnessBasedConsumptionStatusChecker.java|   7 +-
 .../IngestionBasedConsumptionStatusChecker.java| 128 ++---
 .../helix/OffsetBasedConsumptionStatusChecker.java |   7 +-
 .../helix/ConsumptionStatusCheckerTestUtils.java   |  38 ++
 ...FreshnessBasedConsumptionStatusCheckerTest.java | 103 ++---
 .../OffsetBasedConsumptionStatusCheckerTest.java   |  32 --
 7 files changed, 288 insertions(+), 98 deletions(-)

diff --git 
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
 
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
index 02c7b81ea5..78cd1a14e7 100644
--- 
a/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
+++ 
b/pinot-server/src/main/java/org/apache/pinot/server/starter/helix/BaseServerStarter.java
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
@@ -153,8 +154,8 @@ public abstract class BaseServerStarter implements 
ServiceStartable {
 _helixClusterName = 
_serverConf.getProperty(CommonConstants.Helix.CONFIG_OF_CLUSTER_NAME);
 ServiceStartableUtils.applyClusterConfig(_serverConf, _zkAddress, 
_helixClusterName, ServiceRole.SERVER);
 
-PinotInsecureMode.setPinotInInsecureMode(
-
Boolean.valueOf(_serverConf.getProperty(CommonConstants.CONFIG_OF_PINOT_INSECURE_MODE,
+PinotInsecureMode.setPinotInInsecureMode(Boolean.parseBoolean(
+_serverConf.getProperty(CommonConstants.CONFIG_OF_PINOT_INSECURE_MODE,
 CommonConstants.DEFAULT_PINOT_INSECURE_MODE)));
 
 setupHelixSystemProperties();
@@ -275,8 +276,7 @@ public abstract class BaseServerStarter implements 
ServiceStartable {
 
 // collect all resources which have this instance in the ideal state
 List resourcesToMonitor = new ArrayList<>();
-
-Set consumingSegments = new HashSet<>();
+Map> consumingSegments = new HashMap<>();
 boolean checkRealtime = realtimeConsumptionCatchupWaitMs > 0;
 if (isFreshnessStatusCheckerEnabled && realtimeMinFreshnessMs <= 0) {
   LOGGER.warn("Realtime min freshness {} must be > 0. Setting relatime min 
freshness to default {}.",
@@ -289,23 +289,22 @@ public abstract class BaseServerStarter implements 
ServiceStartable {
   if (!TableNameBuilder.isTableResource(resourceName)) {
 continue;
   }
-
   // Only monitor enabled resources
   IdealState idealState = 
_helixAdmin.getResourceIdealState(_helixClusterName, resourceName);
-  if (idealState.isEnabled()) {
-
-for (String partitionName : idealState.getPartitionSet()) {
-  if (idealState.getInstanceSet(partitionName).contains(_instanceId)) {
-resourcesToMonitor.add(resourceName);
-break;
-  }
+  if (idealState == null || !idealState.isEnabled()) {
+continue;
+  }
+  for (String partitionName : idealState.getPartitionSet()) {
+if (idealState.getInstanceSet(partitionName).contains(_instanceId)) {
+  resourcesToMonitor.add(resourceName);
+  break;
 }
-if (checkRealtime && 
TableNameBuilder.isRealtimeTableResource(resourceName)) {
-  for (String partitionName : idealState.getPartitionSet()) {
-if (StateModel.SegmentStateModel.CONSUMING.equals(
-
idealState.getInstanceStateMap(partitionName).get(_instanceId))) {
-  consumingSegments.add(partitionName);
-}
+  }
+  if (checkRealtime && 
TableNameBuilder.isRealtimeTableResource(resourceName)) {
+for (String partitionName : idealState.getPartitionSet()) {
+  if (StateModel.SegmentStateModel.CONSUMING.equals(
+  idealState.getInstanceStateMap(partitionName).get(_instanceId))) 
{
+consumingSegments.computeIfAbsent(resourceName, k -> new 
HashSet<>()).add(partitionName);
   }
 }
   }
@@ -332,7 

Re: [PR] handle absent segments so that catchup checker doesn't get stuck on them [pinot]

2024-04-22 Thread via GitHub


klsince merged PR #12883:
URL: https://github.com/apache/pinot/pull/12883


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Upgrade Calcite to 1.36.0 [pinot]

2024-04-22 Thread via GitHub


robertzych commented on PR #12754:
URL: https://github.com/apache/pinot/pull/12754#issuecomment-2071110780

   I just filed the Calcite issue: 
https://issues.apache.org/jira/browse/CALCITE-6381


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Support NOT in StarTree Index [pinot]

2024-04-22 Thread via GitHub


codecov-commenter commented on PR #12988:
URL: https://github.com/apache/pinot/pull/12988#issuecomment-2071048585

   ## 
[Codecov](https://app.codecov.io/gh/apache/pinot/pull/12988?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   Attention: Patch coverage is `0%` with `187 lines` in your changes are 
missing coverage. Please review.
   > Project coverage is 0.00%. Comparing base 
[(`59551e4`)](https://app.codecov.io/gh/apache/pinot/commit/59551e45224f1535c4863fd577622b37366ccc97?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`d5bff4e`)](https://app.codecov.io/gh/apache/pinot/pull/12988?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 350 commits behind head on master.
   
   | 
[Files](https://app.codecov.io/gh/apache/pinot/pull/12988?dropdown=coverage=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[.../org/apache/pinot/core/startree/StarTreeUtils.java](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Fstartree%2FStarTreeUtils.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9zdGFydHJlZS9TdGFyVHJlZVV0aWxzLmphdmE=)
 | 0.00% | [54 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...lter/predicate/RangePredicateEvaluatorFactory.java](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Ffilter%2Fpredicate%2FRangePredicateEvaluatorFactory.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvcHJlZGljYXRlL1JhbmdlUHJlZGljYXRlRXZhbHVhdG9yRmFjdG9yeS5qYXZh)
 | 0.00% | [32 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...core/startree/operator/StarTreeFilterOperator.java](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Fstartree%2Foperator%2FStarTreeFilterOperator.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9zdGFydHJlZS9vcGVyYXRvci9TdGFyVHJlZUZpbHRlck9wZXJhdG9yLmphdmE=)
 | 0.00% | [25 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...core/operator/filter/predicate/PredicateUtils.java](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Ffilter%2Fpredicate%2FPredicateUtils.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvcHJlZGljYXRlL1ByZWRpY2F0ZVV0aWxzLmphdmE=)
 | 0.00% | [20 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...edicate/BaseDictionaryBasedPredicateEvaluator.java](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Ffilter%2Fpredicate%2FBaseDictionaryBasedPredicateEvaluator.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvcHJlZGljYXRlL0Jhc2VEaWN0aW9uYXJ5QmFzZWRQcmVkaWNhdGVFdmFsdWF0b3IuamF2YQ==)
 | 0.00% | [17 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...lter/predicate/NotInPredicateEvaluatorFactory.java](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Ffilter%2Fpredicate%2FNotInPredicateEvaluatorFactory.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvcHJlZGljYXRlL05vdEluUHJlZGljYXRlRXZhbHVhdG9yRmFjdG9yeS5qYXZh)
 | 0.00% | [11 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12988?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 

Re: [PR] Upgrade lucene to 9.10.0 and compatibility changes to code. [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on PR #12866:
URL: https://github.com/apache/pinot/pull/12866#issuecomment-2071043920

   I don't fully follow why did it break. Following the same logic in #11857 
should work. Basically when downgrading and Pinot doesn't understand the new 
format, it should try to generate the old 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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add threadLocal reusable byte array for VarByteChunkReaderV4 [pinot]

2024-04-22 Thread via GitHub


itschrispeck commented on PR #12977:
URL: https://github.com/apache/pinot/pull/12977#issuecomment-2071036509

   Have you found any issues from these allocations? In our experience w/ V4 we 
have not seen GC issues even when using lower throughput GC algorithms 
(ZGC/generational ZGC). 
   
   I remember there was a discussion/choice to avoid reusing the bytes 
previously: https://github.com/apache/pinot/pull/7661#discussion_r745500379  


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add back pinot spi shading [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on PR #12969:
URL: https://github.com/apache/pinot/pull/12969#issuecomment-2071014624

   Solved with #12979


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add back pinot spi shading [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang closed pull request #12969: Add back pinot spi shading
URL: https://github.com/apache/pinot/pull/12969


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [I] Upsert table backfill enhancement: support externally partitioned data [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on issue #12987:
URL: https://github.com/apache/pinot/issues/12987#issuecomment-2071013541

   For real-time ingested data, the partition must match the upstream partition 
id to ensure the upsert assumption of all data of the same partition served by 
the same server, and I don't think we can loose this requirement.
   
   `Partition function` is required for partition pruning. If partition pruning 
is not required, then we may allow custom partition id without a partition 
function.


-- 
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-unsubscr...@pinot.apache.org

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


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



[PR] Support NOT in StarTree Index [pinot]

2024-04-22 Thread via GitHub


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

   Support NOT in StarTree Index when it is followed by predicate or NOT (not 
with nested AND/OR)
   E.g.
   - ` WHERE NOT d1 > 10`
   - ` WHERE d1 > 10 AND NOT d2 < 10`
   - ` WHERE d1__COLUMN_NAME > 50 OR NOT d1__COLUMN_NAME > 10`
   - ` WHERE NOT NOT d1 > 10`
   - ` WHERE d2 < 95 AND (NOT d1 > 10 OR d1 > 50)`
   - ` WHERE d2 < 95 AND NOT d2 < 25 AND (d1 > 10 OR d1 < 50)`
   - ` WHERE NOT d1 = 95 AND (d1 > 90 OR d1 < 100)`
   
   In order to support NOT, dictionary based `BasePredicateEvaluator` are 
modified to support `getNonMatchingDictIds()`. Some refactor is done to avoid 
duplicate code.
   
   Bugfix:
   - Fix the unsorted dict ids returned from IN/NOT_IN predicate evaluator


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] [WIP] add locking logic to get consistent table view for upsert tables [pinot]

2024-04-22 Thread via GitHub


tibrewalpratik17 commented on code in PR #12976:
URL: https://github.com/apache/pinot/pull/12976#discussion_r1575309595


##
pinot-segment-local/src/main/java/org/apache/pinot/segment/local/upsert/BasePartitionUpsertMetadataManager.java:
##
@@ -1103,6 +1210,48 @@ private static MutableRoaringBitmap 
getQueryableDocIdsSnapshotFromSegment(IndexS
 return queryableDocIdsSnapshot;
   }
 
+  private void setSegmentContexts(List segmentContexts) {
+for (SegmentContext segmentContext : segmentContexts) {
+  IndexSegment segment = segmentContext.getIndexSegment();
+  if (_trackedSegments.contains(segment)) {
+
segmentContext.setQueryableDocIdsSnapshot(getQueryableDocIdsSnapshotFromSegment(segment));
+  }
+}
+  }
+
+  private boolean skipUpsertViewRefresh(long upsertViewFreshnessMs) {
+long nowMs = System.currentTimeMillis();
+if (upsertViewFreshnessMs >= 0) {
+  return _lastUpsertViewRefreshTimeMs + upsertViewFreshnessMs > nowMs;
+}
+return _lastUpsertViewRefreshTimeMs + _upsertViewRefreshIntervalMs > nowMs;
+  }
+
+  private void doBatchRefreshUpsertView(long upsertViewFreshnessMs) {

Review Comment:
   Instead of doing this at partition metadata manager level can we move this 
to table data manager level? We can maintain a map of segment -> segmentContext 
and do a refresh there. This way we can easily extend the scope of segment 
context in future as well. 
   I was trying on something like this -- 
https://github.com/apache/pinot/compare/master...tibrewalpratik17:pinot:fix_upsert_inconsistency?expand=1



##
pinot-spi/src/main/java/org/apache/pinot/spi/config/table/UpsertConfig.java:
##
@@ -75,6 +75,15 @@ public enum Strategy {
   @JsonPropertyDescription("Whether to preload segments for fast upsert 
metadata recovery")
   private boolean _enablePreload;
 
+  @JsonPropertyDescription("Whether to enable consistent view for upsert 
table")
+  private boolean _enableUpsertView;
+
+  @JsonPropertyDescription("Whether to enable batch refresh mode to keep 
consistent view for upsert table")
+  private boolean _enableUpsertViewBatchRefresh;

Review Comment:
   imo this should be enabled by default. At present, this is more of a bugfix 
rather than a feature to be kept behind a config. It can be kept behind a 
config initially to be on the safer side but then we should enable it by 
default in the long run.



-- 
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-unsubscr...@pinot.apache.org

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


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



[I] Upsert table backfill enhancement: support externally partitioned data [pinot]

2024-04-22 Thread via GitHub


rohityadav1993 opened a new issue, #12987:
URL: https://github.com/apache/pinot/issues/12987

   ## Problem
   #6567 allows uploading a batch generated segment to Pinot upsert realtime 
table. Partitioned data is handled by defining the partition column in 
`segmentPartitionConfig.columnPartitionMap`. The addSegment flow uses the 
config to identify the partition value of the column in metadata.properties of 
the uplaoded segment and then assign the segment to instance based on the 
partition id and instance assignment zk metadata. 
   This puts a restriction to define a partition column that is part of the 
table column(primary key) and also use only the configured [partition 
function](https://github.com/apache/pinot/blob/a5c728f549fe1be5560a88080caaa2063def3d87/pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/partition/PartitionFunctionFactory.java#L31)
 for partitioning data during segment creating in batch job using 
`SegmentIndexCreationDriverImpl`
   
   This restriction is not applicable for stream generated segments during 
realtime ingestion. The partition id is identified using the LLC segment name 
convention. The stream is partitioned externally and Pinot table does not need 
to be aware of the partitioned column/function.
   
   ## Proposal
   Proposal to enhance `SegmentAssignment.assignSegment()` flow to rely on 
externally provided partition id for an uplaoded segment.
   
   1. Need to persist the partition id as part of segment zk metadata.
   2. Modify the `StrictRealtimeSegmentAssignment.assignSegment` to get 
partition id from zk metadata.
   3. Provide partition id externally:
   1. Option 1: Provide partition id as http headers during segment upload
   2. Option 2: Provide partition id as part of uploaded segment 
metadata(not as columnPartitionMap) (metadata.properties)
   
   Related: #10896, #11914


-- 
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-unsubscr...@pinot.apache.org.apache.org

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


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



(pinot) branch master updated (a852c8a424 -> a5c728f549)

2024-04-22 Thread mcvsubbu
This is an automated email from the ASF dual-hosted git repository.

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


from a852c8a424 Update ORC and Hive dependency versions in the license 
binary file (#12986)
 add a5c728f549 Add back profile for shade (#12979)

No new revisions were added by this update.

Summary of changes:
 pinot-clients/pinot-jdbc-client/pom.xml  | 15 ++-
 pinot-common/pom.xml | 11 ++-
 pinot-core/pom.xml   | 11 +++
 pinot-plugins/pinot-file-system/pinot-s3/pom.xml | 16 +++-
 .../pinot-stream-ingestion/pinot-kinesis/pom.xml | 16 +++-
 pinot-spi/pom.xml| 11 +++
 6 files changed, 76 insertions(+), 4 deletions(-)


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



Re: [PR] Add back shade profile for shade removed in #12712 [pinot]

2024-04-22 Thread via GitHub


mcvsubbu merged PR #12979:
URL: https://github.com/apache/pinot/pull/12979


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Issue #12367 testCaseTransformFunctionWithIntResults test fix [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on code in PR #12922:
URL: https://github.com/apache/pinot/pull/12922#discussion_r1575173156


##
pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/CaseTransformFunctionTest.java:
##
@@ -116,6 +145,90 @@ public void testCaseTransformFunctionWithIntResults() {
 }
   }
 
+  @Test
+  public void testCaseTransformFunctionWithoutCastForFloatValues() throws 
Exception {
+Map dataSourceMap = new HashMap<>();
+int numRows = 1;
+final int[] intSVValues = new int[numRows];

Review Comment:
   (minor, convention) we don't usually put `final` for local variable



##
pinot-core/src/test/java/org/apache/pinot/core/operator/transform/function/CaseTransformFunctionTest.java:
##
@@ -116,6 +145,90 @@ public void testCaseTransformFunctionWithIntResults() {
 }
   }
 
+  @Test
+  public void testCaseTransformFunctionWithoutCastForFloatValues() throws 
Exception {

Review Comment:
   (formatting) Can you reformat the changes with [Pinot 
Style](https://docs.pinot.apache.org/developers/developers-and-contributors/code-setup#set-up-ide)



-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Issue #12367 testCaseTransformFunctionWithIntResults test fix [pinot]

2024-04-22 Thread via GitHub


aditya0811 commented on PR #12922:
URL: https://github.com/apache/pinot/pull/12922#issuecomment-2070471323

   Hello @Jackie-Jiang, please let me know your thoughts on the newly added 
negative scenario test.


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Custom configuration property reader for segment metadata files [pinot]

2024-04-22 Thread via GitHub


abhioncbr commented on code in PR #12440:
URL: https://github.com/apache/pinot/pull/12440#discussion_r1575127192


##
pinot-spi/src/main/java/org/apache/pinot/spi/env/PropertyIOFactoryKind.java:
##
@@ -0,0 +1,25 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.pinot.spi.env;
+
+public enum PropertyIOFactoryKind {

Review Comment:
   I plan to use these enums to define table/cluster configs. I want to keep 
these enums as of now, and if, in the next step of work, found not very 
helpful, I will delete them. Thanks



-- 
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-unsubscr...@pinot.apache.org

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


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



(pinot) branch master updated (c9d513aef0 -> a852c8a424)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

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


from c9d513aef0 Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 
to 3.4.1 (#12983)
 add a852c8a424 Update ORC and Hive dependency versions in the license 
binary file (#12986)

No new revisions were added by this update.

Summary of changes:
 LICENSE-binary | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


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



Re: [PR] Update ORC and Hive dependency versions in the license binary file [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang merged PR #12986:
URL: https://github.com/apache/pinot/pull/12986


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang merged PR #12983:
URL: https://github.com/apache/pinot/pull/12983


-- 
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-unsubscr...@pinot.apache.org

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


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



(pinot) branch master updated: Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 (#12983)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new c9d513aef0 Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 
to 3.4.1 (#12983)
c9d513aef0 is described below

commit c9d513aef03774b5ea92020cf05b37f7ee7c72f2
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Mon Apr 22 10:19:50 2024 -0700

Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 (#12983)
---
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pom.xml b/pom.xml
index 79df63429c..a4a83c8b28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -130,7 +130,7 @@
 
 
 org.apache.pinot.shaded
-3.4.0
+3.4.1
 3.5.2
 none
 


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



(pinot) branch dependabot/maven/org.apache.maven.plugins-maven-jar-plugin-3.4.1 deleted (was a6c9ec1350)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

jackie pushed a change to branch 
dependabot/maven/org.apache.maven.plugins-maven-jar-plugin-3.4.1
in repository https://gitbox.apache.org/repos/asf/pinot.git


 was a6c9ec1350 Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 
to 3.4.1

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.


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



Re: [PR] Update ORC and Hive dependency versions in the license binary file [pinot]

2024-04-22 Thread via GitHub


codecov-commenter commented on PR #12986:
URL: https://github.com/apache/pinot/pull/12986#issuecomment-2070261379

   ## 
[Codecov](https://app.codecov.io/gh/apache/pinot/pull/12986?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   All modified and coverable lines are covered by tests :white_check_mark:
   > Project coverage is 62.06%. Comparing base 
[(`59551e4`)](https://app.codecov.io/gh/apache/pinot/commit/59551e45224f1535c4863fd577622b37366ccc97?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`e8753f6`)](https://app.codecov.io/gh/apache/pinot/pull/12986?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 347 commits behind head on master.
   
   
   Additional details and impacted files
   
   
   ```diff
   @@ Coverage Diff  @@
   ## master   #12986  +/-   ##
   
   + Coverage 61.75%   62.06%   +0.30% 
   + Complexity  207  198   -9 
   
 Files  2436 2502  +66 
 Lines133233   136503+3270 
 Branches  2063621128 +492 
   
   + Hits  8227484716+2442 
   - Misses4491145511 +600 
   - Partials   6048 6276 +228 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flags_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[custom-integration1](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `<0.01% <ø> (-0.01%)` | :arrow_down: |
   | 
[integration](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `<0.01% <ø> (-0.01%)` | :arrow_down: |
   | 
[integration1](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `<0.01% <ø> (-0.01%)` | :arrow_down: |
   | 
[integration2](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `0.00% <ø> (ø)` | |
   | 
[java-11](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `<0.01% <ø> (-61.71%)` | :arrow_down: |
   | 
[java-21](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `62.06% <ø> (+0.43%)` | :arrow_up: |
   | 
[skip-bytebuffers-false](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `62.03% <ø> (+0.28%)` | :arrow_up: |
   | 
[skip-bytebuffers-true](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `62.02% <ø> (+34.30%)` | :arrow_up: |
   | 
[temurin](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `62.06% <ø> (+0.30%)` | :arrow_up: |
   | 
[unittests](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `62.05% <ø> (+0.31%)` | :arrow_up: |
   | 
[unittests1](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `46.57% <ø> (-0.32%)` | :arrow_down: |
   | 
[unittests2](https://app.codecov.io/gh/apache/pinot/pull/12986/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `27.93% <ø> (+0.20%)` | :arrow_up: |
   
   Flags with carried forward coverage won't be shown. [Click 
here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#carryforward-flags-in-the-pull-request-comment)
 to find out more.
   
   
   
   
   [:umbrella: View full report in Codecov by 
Sentry](https://app.codecov.io/gh/apache/pinot/pull/12986?dropdown=coverage=pr=continue_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   
   :loudspeaker: Have feedback on the report? [Share it 
here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   


-- 
This is an 

Re: [PR] Add schema as input to the decoder. [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on code in PR #12981:
URL: https://github.com/apache/pinot/pull/12981#discussion_r1575052394


##
pinot-spi/src/main/java/org/apache/pinot/spi/stream/StreamMessageDecoder.java:
##
@@ -46,9 +47,25 @@ public interface StreamMessageDecoder {
* @param topicName Topic name of the stream
* @throws Exception If an error occurs
*/
+  @Deprecated
   void init(Map props, Set fieldsToRead, String 
topicName)
   throws Exception;
 
+  /**
+   * Initializes the decoder. This is the new interface that should be 
implemented by all decoders.
+   *
+   * @param props Decoder properties extracted from the {@link StreamConfig}
+   * @param fieldsToRead The fields to read from the source stream. If blank, 
reads all fields (only for AVRO/JSON
+   * currently)
+   * @param topicName Topic name of the stream
+   * @param tableSchema Pinot schema of the table
+   * @throws Exception If an error occurs
+   */
+  default void init(Map props, Set fieldsToRead, 
String topicName, Schema tableSchema)

Review Comment:
   Let's just pass in `void init(StreamConfig streamConfig, TableConfig 
tableConfig, Schema schema)` since everything is extracted from them.



##
pinot-spi/src/main/java/org/apache/pinot/spi/stream/StreamMessageDecoder.java:
##
@@ -46,9 +47,25 @@ public interface StreamMessageDecoder {
* @param topicName Topic name of the stream
* @throws Exception If an error occurs
*/
+  @Deprecated

Review Comment:
   Since we are deprecating it, add a default implementation which throws 
`UnsupportedOperationException`, then we can only choose to implement one of 
the `init()` and clean up the decoders maintained within the code base



-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on code in PR #12982:
URL: https://github.com/apache/pinot/pull/12982#discussion_r1575044559


##
pinot-common/src/main/java/org/apache/pinot/common/metrics/BrokerMeter.java:
##
@@ -102,7 +107,23 @@ public enum BrokerMeter implements AbstractMetrics.Meter {
   NETTY_CONNECTION_BYTES_RECEIVED("nettyConnection", true),
 
   PROACTIVE_CLUSTER_CHANGE_CHECK("proactiveClusterChangeCheck", true),
-  DIRECT_MEMORY_OOM("directMemoryOOMCount", true);
+  DIRECT_MEMORY_OOM("directMemoryOOMCount", true),
+
+
+  /**
+   * Number of multi-stage queries that have been started.
+   * 
+   * Unlike {@link #MULTI_STAGE_QUERIES_BY_TABLE}, this metric is global and 
not attached to a particular table.
+   * That means it can be used to know how many multi-stage queries have been 
started in total.
+   */
+  MULTI_STAGE_QUERIES_EXECUTED("queries", true),

Review Comment:
   Also way may put them next to `QUERIES`



-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang commented on code in PR #12982:
URL: https://github.com/apache/pinot/pull/12982#discussion_r1575043817


##
pinot-common/src/main/java/org/apache/pinot/common/metrics/BrokerMeter.java:
##
@@ -102,7 +107,23 @@ public enum BrokerMeter implements AbstractMetrics.Meter {
   NETTY_CONNECTION_BYTES_RECEIVED("nettyConnection", true),
 
   PROACTIVE_CLUSTER_CHANGE_CHECK("proactiveClusterChangeCheck", true),
-  DIRECT_MEMORY_OOM("directMemoryOOMCount", true);
+  DIRECT_MEMORY_OOM("directMemoryOOMCount", true),
+
+
+  /**
+   * Number of multi-stage queries that have been started.
+   * 
+   * Unlike {@link #MULTI_STAGE_QUERIES_BY_TABLE}, this metric is global and 
not attached to a particular table.
+   * That means it can be used to know how many multi-stage queries have been 
started in total.
+   */
+  MULTI_STAGE_QUERIES_EXECUTED("queries", true),

Review Comment:
   Suggest renaming them to `MULTI_STAGE_QUERIES_GLOBAL` and 
`MULTI_STAGE_QUERIES`



##
pinot-common/src/main/java/org/apache/pinot/common/metrics/BrokerMeter.java:
##
@@ -85,7 +90,7 @@ public enum BrokerMeter implements AbstractMetrics.Meter {
   REQUEST_DROPPED_DUE_TO_ACCESS_ERROR("requestsDropped", false),
 
   GROUP_BY_SIZE("queries", false),
-  TOTAL_SERVER_RESPONSE_SIZE("queries", false),
+  TOTAL_SERVER_RESPONSE_SIZE("bytes", false),

Review Comment:
   Will this potentially cause backward compatible issue?



-- 
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-unsubscr...@pinot.apache.org

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


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



[PR] Update ORC and Hive dependency versions in the license binary file [pinot]

2024-04-22 Thread via GitHub


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

   - The ORC and Hive dependency versions were upgraded in 
https://github.com/apache/pinot/pull/12956. This patch updates the license 
binary file with the new versions.


-- 
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-unsubscr...@pinot.apache.org

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


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



(pinot) branch dependabot/maven/aws.sdk.version-2.25.35 deleted (was 469990d428)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

jackie pushed a change to branch dependabot/maven/aws.sdk.version-2.25.35
in repository https://gitbox.apache.org/repos/asf/pinot.git


 was 469990d428 Bump aws.sdk.version from 2.25.34 to 2.25.35

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.


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



(pinot) branch master updated (f83e466c42 -> 7b68aa369d)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

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


from f83e466c42 Bump org.roaringbitmap:RoaringBitmap from 1.0.5 to 1.0.6 
(#12985)
 add 7b68aa369d Bump aws.sdk.version from 2.25.34 to 2.25.35 (#12984)

No new revisions were added by this update.

Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


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



Re: [PR] Bump aws.sdk.version from 2.25.34 to 2.25.35 [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang merged PR #12984:
URL: https://github.com/apache/pinot/pull/12984


-- 
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-unsubscr...@pinot.apache.org

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


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



(pinot) branch master updated (e1b0e5357e -> f83e466c42)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

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


from e1b0e5357e Refactor PinotTaskManager class (#12964)
 add f83e466c42 Bump org.roaringbitmap:RoaringBitmap from 1.0.5 to 1.0.6 
(#12985)

No new revisions were added by this update.

Summary of changes:
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


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



(pinot) branch dependabot/maven/org.roaringbitmap-RoaringBitmap-1.0.6 deleted (was ccfb0d3a55)

2024-04-22 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

jackie pushed a change to branch 
dependabot/maven/org.roaringbitmap-RoaringBitmap-1.0.6
in repository https://gitbox.apache.org/repos/asf/pinot.git


 was ccfb0d3a55 Bump org.roaringbitmap:RoaringBitmap from 1.0.5 to 1.0.6

The revisions that were on this branch are still contained in
other references; therefore, this change does not discard any commits
from the repository.


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



Re: [PR] Bump org.roaringbitmap:RoaringBitmap from 1.0.5 to 1.0.6 [pinot]

2024-04-22 Thread via GitHub


Jackie-Jiang merged PR #12985:
URL: https://github.com/apache/pinot/pull/12985


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Metric for count of tables configured with various tier backends [pinot]

2024-04-22 Thread via GitHub


shounakmk219 commented on code in PR #12940:
URL: https://github.com/apache/pinot/pull/12940#discussion_r1574879993


##
pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java:
##
@@ -135,6 +137,13 @@ protected void postprocess(Context context) {
 
_controllerMetrics.setValueOfGlobalGauge(ControllerGauge.UPSERT_TABLE_COUNT, 
context._upsertTableCount);
 
_controllerMetrics.setValueOfGlobalGauge(ControllerGauge.DISABLED_TABLE_COUNT, 
context._disabledTables.size());
 
+// metric for total number of tables using a particular tier backend
+context._tierBackendTableCountMap.forEach((tier, count) ->
+  _controllerMetrics.setOrUpdateGauge(tier + 
ControllerGauge.TIER_BACKEND_TABLE_COUNT.getGaugeName(), count));

Review Comment:
   Good point! Tried to address it by maintaining the gauge names. Could not 
think of a cleaner way to handle it.



##
pinot-controller/src/main/java/org/apache/pinot/controller/helix/SegmentStatusChecker.java:
##
@@ -135,6 +137,13 @@ protected void postprocess(Context context) {
 
_controllerMetrics.setValueOfGlobalGauge(ControllerGauge.UPSERT_TABLE_COUNT, 
context._upsertTableCount);
 
_controllerMetrics.setValueOfGlobalGauge(ControllerGauge.DISABLED_TABLE_COUNT, 
context._disabledTables.size());
 
+// metric for total number of tables using a particular tier backend
+context._tierBackendTableCountMap.forEach((tier, count) ->

Review Comment:
   Done



-- 
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-unsubscr...@pinot.apache.org

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


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



(pinot) branch dependabot/maven/org.roaringbitmap-RoaringBitmap-1.0.6 created (now ccfb0d3a55)

2024-04-22 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/org.roaringbitmap-RoaringBitmap-1.0.6
in repository https://gitbox.apache.org/repos/asf/pinot.git


  at ccfb0d3a55 Bump org.roaringbitmap:RoaringBitmap from 1.0.5 to 1.0.6

No new revisions were added by this update.


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



[PR] Bump org.roaringbitmap:RoaringBitmap from 1.0.5 to 1.0.6 [pinot]

2024-04-22 Thread via GitHub


dependabot[bot] opened a new pull request, #12985:
URL: https://github.com/apache/pinot/pull/12985

   Bumps 
[org.roaringbitmap:RoaringBitmap](https://github.com/RoaringBitmap/RoaringBitmap)
 from 1.0.5 to 1.0.6.
   
   Release notes
   Sourced from https://github.com/RoaringBitmap/RoaringBitmap/releases;>org.roaringbitmap:RoaringBitmap's
 releases.
   
   1.0.6
   What's Changed
   
   Implement BatchIterator's promise to fill the input buffer, when 
possible by https://github.com/smmathews-bw-boston;>@​smmathews-bw-boston
 in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/712;>RoaringBitmap/RoaringBitmap#712
   RoaringBitmap to BitSet/long[]/byte[] by https://github.com/DanielThomas;>@​DanielThomas in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/713;>RoaringBitmap/RoaringBitmap#713
   Avoid getCardinality in RunContainer.toBitmapContainer by https://github.com/DanielThomas;>@​DanielThomas in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/715;>RoaringBitmap/RoaringBitmap#715
   ADD Java 21 to CI by https://github.com/smmathews-bw-boston;>@​smmathews-bw-boston
 in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/719;>RoaringBitmap/RoaringBitmap#719
   Avoid intermediate arrays for other container types by https://github.com/DanielThomas;>@​DanielThomas in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/716;>RoaringBitmap/RoaringBitmap#716
   Fix for or:ing two RunContainers that produce an undersized 
BitmapContainer by https://github.com/larsk-db;>@​larsk-db in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/718;>RoaringBitmap/RoaringBitmap#718
   
   New Contributors
   
   https://github.com/smmathews-bw-boston;>@​smmathews-bw-boston
 made their first contribution in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/712;>RoaringBitmap/RoaringBitmap#712
   https://github.com/DanielThomas;>@​DanielThomas made 
their first contribution in https://redirect.github.com/RoaringBitmap/RoaringBitmap/pull/713;>RoaringBitmap/RoaringBitmap#713
   
   Full Changelog: https://github.com/RoaringBitmap/RoaringBitmap/compare/1.0.5...1.0.6;>https://github.com/RoaringBitmap/RoaringBitmap/compare/1.0.5...1.0.6
   
   
   
   Commits
   
   https://github.com/RoaringBitmap/RoaringBitmap/commit/5235aa62c32fa3bf7fae40a562e3edc75f61be4e;>5235aa6
 [Gradle Release Plugin] - pre tag commit:  '1.0.6'.
   https://github.com/RoaringBitmap/RoaringBitmap/commit/0735196d60eec42324f1c356da56f001bad67c39;>0735196
 Fix for or:ing two RunContainers that produce an undersized BitmapContainer 
(...
   https://github.com/RoaringBitmap/RoaringBitmap/commit/bea55d46dfe97c3e76d67f26a335c31014f04d77;>bea55d4
 Avoid intermediate arrays for other container types (https://redirect.github.com/RoaringBitmap/RoaringBitmap/issues/716;>#716)
   https://github.com/RoaringBitmap/RoaringBitmap/commit/0905e734a4fb3d5abf0b1d9fb3859a08c4af7c41;>0905e73
 add Java 21 to CI, as one of four LTS versions still being supported by 
Eclip...
   https://github.com/RoaringBitmap/RoaringBitmap/commit/91ff377e89672170a5cda4b2ed0ec5c4ce1f21bd;>91ff377
 Update README.md
   https://github.com/RoaringBitmap/RoaringBitmap/commit/9079e41f913842d4ce53eec4f36c0c14e41dd587;>9079e41
 Avoid getCardinality in RunContainer.toBitmapContainer (https://redirect.github.com/RoaringBitmap/RoaringBitmap/issues/715;>#715)
   https://github.com/RoaringBitmap/RoaringBitmap/commit/01fad43ae9a3f52bf285f6fba36febef4967392e;>01fad43
 RoaringBitmap to BitSet/long[]/byte[] (https://redirect.github.com/RoaringBitmap/RoaringBitmap/issues/713;>#713)
   https://github.com/RoaringBitmap/RoaringBitmap/commit/dda04be1c1ff514b94875499476825daba4ed3dc;>dda04be
 Implement BatchIterator's promise to fill the input buffer, when possible (https://redirect.github.com/RoaringBitmap/RoaringBitmap/issues/712;>#712)
   https://github.com/RoaringBitmap/RoaringBitmap/commit/78da63af7eedb1ae118340d06974cfdc63cb94f6;>78da63a
 [Gradle Release Plugin] - new version commit:  '1.0.6-SNAPSHOT'.
   See full diff in https://github.com/RoaringBitmap/RoaringBitmap/compare/1.0.5...1.0.6;>compare
 view
   
   
   
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.roaringbitmap:RoaringBitmap=maven=1.0.5=1.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to 

(pinot) branch dependabot/maven/aws.sdk.version-2.25.35 created (now 469990d428)

2024-04-22 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch dependabot/maven/aws.sdk.version-2.25.35
in repository https://gitbox.apache.org/repos/asf/pinot.git


  at 469990d428 Bump aws.sdk.version from 2.25.34 to 2.25.35

No new revisions were added by this update.


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



[PR] Bump aws.sdk.version from 2.25.34 to 2.25.35 [pinot]

2024-04-22 Thread via GitHub


dependabot[bot] opened a new pull request, #12984:
URL: https://github.com/apache/pinot/pull/12984

   Bumps `aws.sdk.version` from 2.25.34 to 2.25.35.
   Updates `software.amazon.awssdk:bom` from 2.25.34 to 2.25.35
   
   Updates `software.amazon.awssdk:apache-client` from 2.25.34 to 2.25.35
   
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot show  ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   


-- 
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-unsubscr...@pinot.apache.org

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


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



[PR] Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1 [pinot]

2024-04-22 Thread via GitHub


dependabot[bot] opened a new pull request, #12983:
URL: https://github.com/apache/pinot/pull/12983

   Bumps 
[org.apache.maven.plugins:maven-jar-plugin](https://github.com/apache/maven-jar-plugin)
 from 3.4.0 to 3.4.1.
   
   Release notes
   Sourced from https://github.com/apache/maven-jar-plugin/releases;>org.apache.maven.plugins:maven-jar-plugin's
 releases.
   
   3.4.1
   
    Bug Fixes
   
   https://issues.apache.org/jira/browse/MJAR-307;>[MJAR-307] 
- Wrong version of commons-io cause a ClassNotFound 
o.a.commons.io.file.attribute.FileTimes (https://redirect.github.com/apache/maven-jar-plugin/pull/83;>#83) https://github.com/slawekjaranowski;>@​slawekjaranowski
   
    Dependency updates
   
   https://issues.apache.org/jira/browse/MJAR-308;>[MJAR-308] 
- Bump org.apache.maven.plugins:maven-plugins from 41 to 42 (https://redirect.github.com/apache/maven-jar-plugin/pull/85;>#85) https://github.com/dependabot;>@​dependabot
   
   
   
   
   Commits
   
   https://github.com/apache/maven-jar-plugin/commit/8b29adc0e420b1da1495791c9d5bb9399590cc51;>8b29adc
 [maven-release-plugin] prepare release maven-jar-plugin-3.4.1
   https://github.com/apache/maven-jar-plugin/commit/325b2990308f08d4a2b3010cafe8bb55304ef53c;>325b299
 [MJAR-308] Bump org.apache.maven.plugins:maven-plugins from 41 to 42 (https://redirect.github.com/apache/maven-jar-plugin/issues/85;>#85)
   https://github.com/apache/maven-jar-plugin/commit/52111cc9250fc5876f4a6570a48bc679d099d8e2;>52111cc
 [MJAR-307] Wrong version of commons-io cause a ClassNotFound 
o.a.commons.io.f...
   https://github.com/apache/maven-jar-plugin/commit/902d4c55a19f301c31a4e187fbd798d4f847cb19;>902d4c5
 [maven-release-plugin] prepare for next development iteration
   See full diff in https://github.com/apache/maven-jar-plugin/compare/maven-jar-plugin-3.4.0...maven-jar-plugin-3.4.1;>compare
 view
   
   
   
   
   
   [![Dependabot compatibility 
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.apache.maven.plugins:maven-jar-plugin=maven=3.4.0=3.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
   
   Dependabot will resolve any conflicts with this PR as long as you don't 
alter it yourself. You can also trigger a rebase manually by commenting 
`@dependabot rebase`.
   
   [//]: # (dependabot-automerge-start)
   [//]: # (dependabot-automerge-end)
   
   ---
   
   
   Dependabot commands and options
   
   
   You can trigger Dependabot actions by commenting on this PR:
   - `@dependabot rebase` will rebase this PR
   - `@dependabot recreate` will recreate this PR, overwriting any edits that 
have been made to it
   - `@dependabot merge` will merge this PR after your CI passes on it
   - `@dependabot squash and merge` will squash and merge this PR after your CI 
passes on it
   - `@dependabot cancel merge` will cancel a previously requested merge and 
block automerging
   - `@dependabot reopen` will reopen this PR if it is closed
   - `@dependabot close` will close this PR and stop Dependabot recreating it. 
You can achieve the same result by closing it manually
   - `@dependabot show  ignore conditions` will show all of 
the ignore conditions of the specified dependency
   - `@dependabot ignore this major version` will close this PR and stop 
Dependabot creating any more for this major version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this minor version` will close this PR and stop 
Dependabot creating any more for this minor version (unless you reopen the PR 
or upgrade to it yourself)
   - `@dependabot ignore this dependency` will close this PR and stop 
Dependabot creating any more for this dependency (unless you reopen the PR or 
upgrade to it yourself)
   
   
   


-- 
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-unsubscr...@pinot.apache.org

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


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



(pinot) branch dependabot/maven/org.apache.maven.plugins-maven-jar-plugin-3.4.1 created (now a6c9ec1350)

2024-04-22 Thread github-bot
This is an automated email from the ASF dual-hosted git repository.

github-bot pushed a change to branch 
dependabot/maven/org.apache.maven.plugins-maven-jar-plugin-3.4.1
in repository https://gitbox.apache.org/repos/asf/pinot.git


  at a6c9ec1350 Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 
to 3.4.1

No new revisions were added by this update.


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


gortiz commented on PR #12982:
URL: https://github.com/apache/pinot/pull/12982#issuecomment-2069098588

   I've simplified the PR and modified the title and description of the 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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


gortiz commented on code in PR #12982:
URL: https://github.com/apache/pinot/pull/12982#discussion_r1574559296


##
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java:
##
@@ -260,10 +276,18 @@ protected BrokerResponse handleRequest(long requestId, 
String query, @Nullable S
 brokerResponse.setPartialResult(isPartialResult(brokerResponse));
 
 // Set total query processing time
-// TODO: Currently we don't emit metric for QUERY_TOTAL_TIME_MS
 long totalTimeMs = TimeUnit.NANOSECONDS.toMillis(
 sqlNodeAndOptions.getParseTimeNs() + (executionEndTimeNs - 
compilationStartTimeNs));
 brokerResponse.setTimeUsedMs(totalTimeMs);
+if (brokerResponse.isNumGroupsLimitReached()) {
+  for (String tableName : tableNames) {
+_brokerMetrics.addMeteredTableValue(tableName, 
BrokerMeter.BROKER_RESPONSES_WITH_NUM_GROUPS_LIMIT_REACHED, 1);
+  }

Review Comment:
   I think it is better to have _false positives_ (aka report the problem at 
least once) than _false negatives_ (aka report it at most once), but given 
there is no consensus, I'm going to remove it.



-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


gortiz commented on code in PR #12982:
URL: https://github.com/apache/pinot/pull/12982#discussion_r1574558083


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

Review Comment:
   I'm removing it given it is clear this is not a consensuated decision.



-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


codecov-commenter commented on PR #12982:
URL: https://github.com/apache/pinot/pull/12982#issuecomment-2069078164

   ## 
[Codecov](https://app.codecov.io/gh/apache/pinot/pull/12982?dropdown=coverage=pr=h1_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 Report
   Attention: Patch coverage is `0%` with `25 lines` in your changes are 
missing coverage. Please review.
   > Project coverage is 0.00%. Comparing base 
[(`59551e4`)](https://app.codecov.io/gh/apache/pinot/commit/59551e45224f1535c4863fd577622b37366ccc97?dropdown=coverage=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 to head 
[(`29288c7`)](https://app.codecov.io/gh/apache/pinot/pull/12982?dropdown=coverage=pr=desc_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache).
   > Report is 345 commits behind head on master.
   
   | 
[Files](https://app.codecov.io/gh/apache/pinot/pull/12982?dropdown=coverage=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | Patch % | Lines |
   |---|---|---|
   | 
[...requesthandler/MultiStageBrokerRequestHandler.java](https://app.codecov.io/gh/apache/pinot/pull/12982?src=pr=tree=pinot-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fbroker%2Frequesthandler%2FMultiStageBrokerRequestHandler.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtYnJva2VyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9icm9rZXIvcmVxdWVzdGhhbmRsZXIvTXVsdGlTdGFnZUJyb2tlclJlcXVlc3RIYW5kbGVyLmphdmE=)
 | 0.00% | [20 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12982?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...a/org/apache/pinot/common/metrics/BrokerMeter.java](https://app.codecov.io/gh/apache/pinot/pull/12982?src=pr=tree=pinot-common%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcommon%2Fmetrics%2FBrokerMeter.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vbWV0cmljcy9Ccm9rZXJNZXRlci5qYXZh)
 | 0.00% | [4 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12982?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   | 
[...roker/requesthandler/BaseBrokerRequestHandler.java](https://app.codecov.io/gh/apache/pinot/pull/12982?src=pr=tree=pinot-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fbroker%2Frequesthandler%2FBaseBrokerRequestHandler.java_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache#diff-cGlub3QtYnJva2VyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9icm9rZXIvcmVxdWVzdGhhbmRsZXIvQmFzZUJyb2tlclJlcXVlc3RIYW5kbGVyLmphdmE=)
 | 0.00% | [1 Missing :warning: 
](https://app.codecov.io/gh/apache/pinot/pull/12982?src=pr=tree_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 |
   
   Additional details and impacted files
   
   
   ```diff
   @@  Coverage Diff  @@
   ## master   #12982   +/-   ##
   =
   - Coverage 61.75%0.00%   -61.75% 
   + Complexity  2076  -201 
   =
 Files  2436 2427-9 
 Lines133233   132880  -353 
 Branches  2063620584   -52 
   =
   - Hits  822746-82268 
   - Misses44911   132874+87963 
   + Partials   60480 -6048 
   ```
   
   | 
[Flag](https://app.codecov.io/gh/apache/pinot/pull/12982/flags?src=pr=flags_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | Coverage Δ | |
   |---|---|---|
   | 
[custom-integration1](https://app.codecov.io/gh/apache/pinot/pull/12982/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `?` | |
   | 
[integration](https://app.codecov.io/gh/apache/pinot/pull/12982/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `<0.01% <0.00%> (-0.01%)` | :arrow_down: |
   | 
[integration1](https://app.codecov.io/gh/apache/pinot/pull/12982/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `<0.01% <0.00%> (-0.01%)` | :arrow_down: |
   | 
[integration2](https://app.codecov.io/gh/apache/pinot/pull/12982/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `0.00% <0.00%> (ø)` | |
   | 
[java-11](https://app.codecov.io/gh/apache/pinot/pull/12982/flags?src=pr=flag_medium=referral_source=github_content=comment_campaign=pr+comments_term=apache)
 | `?` | |
   | 

Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


gortiz commented on code in PR #12982:
URL: https://github.com/apache/pinot/pull/12982#discussion_r1574536612


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

Review Comment:
   This would just double the lines, given we already emit a info log for each 
query in `QueryLogger.log`, which is executed at the end of the request.



-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


tibrewalpratik17 commented on code in PR #12982:
URL: https://github.com/apache/pinot/pull/12982#discussion_r1574511131


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

Review Comment:
   This will add a lot of log lines for high-qps use-cases.



##
pinot-broker/src/main/java/org/apache/pinot/broker/requesthandler/MultiStageBrokerRequestHandler.java:
##
@@ -260,10 +276,18 @@ protected BrokerResponse handleRequest(long requestId, 
String query, @Nullable S
 brokerResponse.setPartialResult(isPartialResult(brokerResponse));
 
 // Set total query processing time
-// TODO: Currently we don't emit metric for QUERY_TOTAL_TIME_MS
 long totalTimeMs = TimeUnit.NANOSECONDS.toMillis(
 sqlNodeAndOptions.getParseTimeNs() + (executionEndTimeNs - 
compilationStartTimeNs));
 brokerResponse.setTimeUsedMs(totalTimeMs);
+if (brokerResponse.isNumGroupsLimitReached()) {
+  for (String tableName : tableNames) {
+_brokerMetrics.addMeteredTableValue(tableName, 
BrokerMeter.BROKER_RESPONSES_WITH_NUM_GROUPS_LIMIT_REACHED, 1);
+  }

Review Comment:
   We were planning to do something similar before and had some reservations 
around this. More info on this thread -- 
https://github.com/apache/pinot/pull/11023#discussion_r1248823295
   cc @ankitsultana 



-- 
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-unsubscr...@pinot.apache.org

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


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



[PR] Add some multi-stage metrics [pinot]

2024-04-22 Thread via GitHub


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

   Including:
   - Report BROKER_RESPONSES_WITH_NUM_GROUPS_LIMIT_REACHED
   - Report QUERY_TOTAL_TIME_MS
   - Report QUERY_QUOTA_EXCEEDED
   - Report REQUEST_DROPPED_DUE_TO_ACCESS_ERROR
   - Report QUERIES
   - Report REQUEST_SIZE
   - Add and report new MULTI_STAGE_QUERIES_BY_TABLE
   
   Some javadocs have been added to notice that some of these metrics can now 
be counted now more than once (ie 
BROKER_RESPONSES_WITH_NUM_GROUPS_LIMIT_REACHED is added for each table touched 
in the query in case of joins)
   
   This PR also changes a log. Specifically, the sentence that logs that a 
query has started is changed from debug to info. It is very useful to have a 
log when the query starts and one when it ends (the later already existed). 
This is specially useful to detect queries that for whatever reason do not end 
(like producing a large GC that ends up killing the broker).


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add back shade profile for shade removed in #12712 [pinot]

2024-04-22 Thread via GitHub


xiangfu0 commented on PR #12979:
URL: https://github.com/apache/pinot/pull/12979#issuecomment-2068839101

   It's disabled by default. Plugins modules are enabled by default. 
   We added this profile to enable shading for modules like pinot-spi, or 
disable plugin modules like pinot-s3. 


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [I] Grouping data by time interval [pinot]

2024-04-22 Thread via GitHub


synoxbm commented on issue #48:
URL: https://github.com/apache/pinot/issues/48#issuecomment-2068670535

   [Jackie-Jiang](https://github.com/Jackie-Jiang) thanks ;)


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add back shade profile for shade removed in #12712 [pinot]

2024-04-22 Thread via GitHub


gortiz commented on PR #12979:
URL: https://github.com/apache/pinot/pull/12979#issuecomment-2068638072

   So... IICU:
   
   - Shading is enabled by default
   - Some projects disable it
   - In some projects we can tune whether it is enabled or not by using a 
property
   
   Is that correct? 
   
   PS: I guess we can discuss this in another PR but... why do we need shade to 
be on by default? I think we should only shade drivers and some plugins and at 
least it should be pretty safe to only turn shade on in profile `bin-dist`.


-- 
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-unsubscr...@pinot.apache.org

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


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



Re: [PR] Add back shade profile for shade removed in #12712 [pinot]

2024-04-22 Thread via GitHub


gortiz commented on code in PR #12979:
URL: https://github.com/apache/pinot/pull/12979#discussion_r1574222460


##
pinot-clients/pinot-jdbc-client/pom.xml:
##
@@ -82,4 +81,18 @@
   jsr305
 
   
+  
+
+  build-shaded-jar
+  
+
+  skipShade
+  !true
+
+  
+  
+package
+  

Review Comment:
   Isn't that the default phase? IICU we don't need to provide the phase.



##
pinot-clients/pinot-jdbc-client/pom.xml:
##
@@ -82,4 +81,18 @@
   jsr305
 
   
+  
+
+  build-shaded-jar
+  
+
+  skipShade
+  !true
+
+  
+  
+package
+  

Review Comment:
   nit: Isn't that the default phase? IICU we don't need to provide the phase.



-- 
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-unsubscr...@pinot.apache.org

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


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