[GitHub] [incubator-pinot] codecov-io edited a comment on issue #4133: add more types parsing for string coerceValueIntoField

2019-05-20 Thread GitBox
codecov-io edited a comment on issue #4133:  add more types parsing for string 
coerceValueIntoField
URL: https://github.com/apache/incubator-pinot/pull/4133#issuecomment-484348066
 
 
   # 
[Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4133?src=pr=h1) 
Report
   > Merging 
[#4133](https://codecov.io/gh/apache/incubator-pinot/pull/4133?src=pr=desc) 
into 
[master](https://codecov.io/gh/apache/incubator-pinot/commit/c0120d72d79b176ffc955496dba3662bb018afe4?src=pr=desc)
 will **increase** coverage by `7.28%`.
   > The diff coverage is `0%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/incubator-pinot/pull/4133/graphs/tree.svg?width=650=4ibza2ugkz=150=pr)](https://codecov.io/gh/apache/incubator-pinot/pull/4133?src=pr=tree)
   
   ```diff
   @@ Coverage Diff  @@
   ## master#4133  +/-   ##
   
   + Coverage 59.95%   67.24%   +7.28% 
 Complexity   20   20  
   
 Files  1161 1040 -121 
 Lines 5846751483-6984 
 Branches   8121 7210 -911 
   
   - Hits  3505234618 -434 
   + Misses2096714499-6468 
   + Partials   2448 2366  -82
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/incubator-pinot/pull/4133?src=pr=tree) | 
Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | 
[...a/org/apache/pinot/common/config/Deserializer.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vY29uZmlnL0Rlc2VyaWFsaXplci5qYXZh)
 | `54.86% <0%> (-2.28%)` | `0 <0> (ø)` | |
   | 
[...a/manager/realtime/RealtimeSegmentDataManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9kYXRhL21hbmFnZXIvcmVhbHRpbWUvUmVhbHRpbWVTZWdtZW50RGF0YU1hbmFnZXIuamF2YQ==)
 | `75% <0%> (-25%)` | `0% <0%> (ø)` | |
   | 
[...egation/function/customobject/MinMaxRangePair.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9xdWVyeS9hZ2dyZWdhdGlvbi9mdW5jdGlvbi9jdXN0b21vYmplY3QvTWluTWF4UmFuZ2VQYWlyLmphdmE=)
 | `75.86% <0%> (-24.14%)` | `0% <0%> (ø)` | |
   | 
[...ing/HelixExternalViewBasedTimeBoundaryService.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtYnJva2VyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9icm9rZXIvcm91dGluZy9IZWxpeEV4dGVybmFsVmlld0Jhc2VkVGltZUJvdW5kYXJ5U2VydmljZS5qYXZh)
 | `64.91% <0%> (-12.37%)` | `0% <0%> (ø)` | |
   | 
[...r/validation/RealtimeSegmentValidationManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL1JlYWx0aW1lU2VnbWVudFZhbGlkYXRpb25NYW5hZ2VyLmphdmE=)
 | `43.33% <0%> (-11.67%)` | `0% <0%> (ø)` | |
   | 
[...ot/core/segment/index/readers/BytesDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9zZWdtZW50L2luZGV4L3JlYWRlcnMvQnl0ZXNEaWN0aW9uYXJ5LmphdmE=)
 | `91.66% <0%> (-8.34%)` | `0% <0%> (ø)` | |
   | 
[...impl/dictionary/DoubleOnHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRG91YmxlT25IZWFwTXV0YWJsZURpY3Rpb25hcnkuamF2YQ==)
 | `69.56% <0%> (-6%)` | `0% <0%> (ø)` | |
   | 
[...lix/core/minion/PinotHelixTaskResourceManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci9oZWxpeC9jb3JlL21pbmlvbi9QaW5vdEhlbGl4VGFza1Jlc291cmNlTWFuYWdlci5qYXZh)
 | `73.25% <0%> (-4.66%)` | `0% <0%> (ø)` | |
   | 
[...pinot/core/query/pruner/AbstractSegmentPruner.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9xdWVyeS9wcnVuZXIvQWJzdHJhY3RTZWdtZW50UHJ1bmVyLmphdmE=)
 | `72.72% <0%> (-4.2%)` | `0% <0%> (ø)` | |
   | 
[...n/java/org/apache/pinot/common/utils/LLCUtils.java](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vdXRpbHMvTExDVXRpbHMuamF2YQ==)
 | `75% <0%> (-3.58%)` | `0% <0%> (ø)` | |
   | ... and [228 
more](https://codecov.io/gh/apache/incubator-pinot/pull/4133/diff?src=pr=tree-more)
 | |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4133?src=pr=continue).
   > **Legend** - [Click here to learn 

[GitHub] [incubator-pinot] kishoreg commented on issue #4214: Support default BYTES (zero-length byte array) in aggregation function and aggregator

2019-05-20 Thread GitBox
kishoreg commented on issue #4214: Support default BYTES (zero-length byte 
array) in aggregation function and aggregator
URL: https://github.com/apache/incubator-pinot/pull/4214#issuecomment-494230068
 
 
   This is equivalent of supporting NULL for BYTES column right?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] katewang0710 commented on a change in pull request #4133: add more types parsing for string coerceValueIntoField

2019-05-20 Thread GitBox
katewang0710 commented on a change in pull request #4133:  add more types 
parsing for string coerceValueIntoField
URL: https://github.com/apache/incubator-pinot/pull/4133#discussion_r285840014
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/config/Deserializer.java
 ##
 @@ -349,17 +349,26 @@
 } else if (value instanceof String) {
   String stringValue = (String) value;
   try {
-if (Integer.class.isAssignableFrom(fieldType) || int.class
-.isAssignableFrom(fieldType)) { // field instanceof int/Integer
+if (fieldType.isAssignableFrom(Integer.class) || 
fieldType.isAssignableFrom(int.class)){
   destinationValue = Integer.parseInt(stringValue);
-} else if (Long.class.isAssignableFrom(fieldType)) { // field 
instanceof long/Long
+} else if (fieldType.isAssignableFrom(Long.class) || 
fieldType.isAssignableFrom(long.class)){
   destinationValue = Long.parseLong(stringValue);
-} else if (Boolean.class.isAssignableFrom(fieldType) || 
boolean.class.isAssignableFrom(fieldType)) {
+} else if (fieldType.isAssignableFrom(Boolean.class) || 
fieldType.isAssignableFrom(boolean.class)){
   destinationValue = Boolean.parseBoolean(stringValue);
-} else if (Enum.class.isAssignableFrom(fieldType)) {
+} else if (Enum.class.isAssignableFrom(fieldType)){
   destinationValue = 
Enum.valueOf(fieldType.asSubclass(Enum.class), stringValue.toUpperCase());
-} else {
-  // TODO Add float/double/short/char
+} else if (fieldType.isAssignableFrom(Float.class) || 
fieldType.isAssignableFrom(float.class)){
+  destinationValue = Float.parseFloat(stringValue);
+} else if (fieldType.isAssignableFrom(Double.class) || 
fieldType.isAssignableFrom(double.class)){
+  destinationValue = Double.parseDouble(stringValue);
+} else if (fieldType.isAssignableFrom(Short.class) || 
fieldType.isAssignableFrom(short.class)){
+  destinationValue = Short.parseShort(stringValue);
+} else if (fieldType.isAssignableFrom(Byte.class) || 
fieldType.isAssignableFrom(byte.class)){
+  destinationValue = stringValue.getBytes()[0];
 
 Review comment:
   Exactly! 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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] codecov-io edited a comment on issue #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
codecov-io edited a comment on issue #4218: Add 
RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#issuecomment-493596443
 
 
   # 
[Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4218?src=pr=h1) 
Report
   > Merging 
[#4218](https://codecov.io/gh/apache/incubator-pinot/pull/4218?src=pr=desc) 
into 
[master](https://codecov.io/gh/apache/incubator-pinot/commit/3e6733f820d8f3b0482849abe6e1705da38e18a9?src=pr=desc)
 will **decrease** coverage by `0.13%`.
   > The diff coverage is `36.58%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/incubator-pinot/pull/4218/graphs/tree.svg?width=650=4ibza2ugkz=150=pr)](https://codecov.io/gh/apache/incubator-pinot/pull/4218?src=pr=tree)
   
   ```diff
   @@ Coverage Diff  @@
   ## master#4218  +/-   ##
   
   - Coverage 67.35%   67.22%   -0.14% 
 Complexity   20   20  
   
 Files  1036 1040   +4 
 Lines 5153551513  -22 
 Branches   7220 7215   -5 
   
   - Hits  3471234629  -83 
   - Misses1443814524  +86 
   + Partials   2385 2360  -25
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/incubator-pinot/pull/4218?src=pr=tree) | 
Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | 
[...org/apache/pinot/common/utils/CommonConstants.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vdXRpbHMvQ29tbW9uQ29uc3RhbnRzLmphdmE=)
 | `45.65% <ø> (+10.86%)` | `0 <0> (ø)` | :arrow_down: |
   | 
[...g/apache/pinot/common/config/TableNameBuilder.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vY29uZmlnL1RhYmxlTmFtZUJ1aWxkZXIuamF2YQ==)
 | `96.15% <100%> (+0.15%)` | `0 <0> (ø)` | :arrow_down: |
   | 
[...pinot/server/starter/helix/HelixServerStarter.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3Qtc2VydmVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zZXJ2ZXIvc3RhcnRlci9oZWxpeC9IZWxpeFNlcnZlclN0YXJ0ZXIuamF2YQ==)
 | `54.98% <100%> (ø)` | `0 <0> (ø)` | :arrow_down: |
   | 
[...a/org/apache/pinot/common/utils/ServiceStatus.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vdXRpbHMvU2VydmljZVN0YXR1cy5qYXZh)
 | `73.5% <31.57%> (-9.84%)` | `0 <0> (ø)` | |
   | 
[...apache/pinot/common/metrics/ValidationMetrics.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vbWV0cmljcy9WYWxpZGF0aW9uTWV0cmljcy5qYXZh)
 | `20.28% <0%> (-59.43%)` | `0% <0%> (ø)` | |
   | 
[...ller/validation/OfflineSegmentIntervalChecker.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL09mZmxpbmVTZWdtZW50SW50ZXJ2YWxDaGVja2VyLmphdmE=)
 | `29.87% <0%> (-53.25%)` | `0% <0%> (ø)` | |
   | 
[...r/validation/RealtimeSegmentValidationManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL1JlYWx0aW1lU2VnbWVudFZhbGlkYXRpb25NYW5hZ2VyLmphdmE=)
 | `43.33% <0%> (-41.67%)` | `0% <0%> (ø)` | |
   | 
[...e/operator/dociditerators/MVScanDocIdIterator.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9kb2NpZGl0ZXJhdG9ycy9NVlNjYW5Eb2NJZEl0ZXJhdG9yLmphdmE=)
 | `45.45% <0%> (-18.19%)` | `0% <0%> (ø)` | |
   | 
[.../impl/dictionary/LongOffHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvTG9uZ09mZkhlYXBNdXRhYmxlRGljdGlvbmFyeS5qYXZh)
 | `83.92% <0%> (-8.8%)` | `0% <0%> (ø)` | |
   | 
[...ot/core/segment/index/readers/BytesDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9zZWdtZW50L2luZGV4L3JlYWRlcnMvQnl0ZXNEaWN0aW9uYXJ5LmphdmE=)
 | `91.66% <0%> (-8.34%)` | `0% <0%> (ø)` | |
   | ... and [51 
more](https://codecov.io/gh/apache/incubator-pinot/pull/4218/diff?src=pr=tree-more)
 | |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4218?src=pr=continue).
   > **Legend** - [Click here to learn 

[incubator-pinot] branch num-groups-limit deleted (was f48abe7)

2019-05-20 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

jackie pushed a change to branch num-groups-limit
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.


 was f48abe7  Increase the limit of groups in combine operator 
(inter-segments)

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



[incubator-pinot] branch master updated: Increase the limit of groups in combine operator (inter-segments) (#4208)

2019-05-20 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/incubator-pinot.git


The following commit(s) were added to refs/heads/master by this push:
 new fc51fdc  Increase the limit of groups in combine operator 
(inter-segments) (#4208)
fc51fdc is described below

commit fc51fdc01d2b93836346c723107ccbcd5dbc6cdc
Author: Xiaotian (Jackie) Jiang <1751+jackie-ji...@users.noreply.github.com>
AuthorDate: Mon May 20 18:12:47 2019 -0700

Increase the limit of groups in combine operator (inter-segments) (#4208)

Right now we limit number of groups stored both inner-segment and
inter-segments with the same limit. Once the segment results reach
the inner-segment limit, it will also reach the inter-segments
limit after combining the results in the combine operator. This
will cause the new groups from the other segment being dropped.
This might cause inconsistent result depending on the order of
segment execution.
The solution would be, increase the limit (multiply by factor 2) of
groups across segments to get consistent result regardless of the
order of execution. For most cases, most groups from each segment
should be the same, thus the total number of groups across segments
should be equal or slightly higher than the number of groups in
each segment. We still put a limit across segments to protect cases
where data is very skewed across different segments.
---
 .../pinot/core/operator/CombineGroupByOperator.java | 17 +
 .../org/apache/pinot/core/plan/CombinePlanNode.java |  1 +
 .../pinot/core/plan/maker/InstancePlanMakerImplV2.java  |  2 +-
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/operator/CombineGroupByOperator.java
 
b/pinot-core/src/main/java/org/apache/pinot/core/operator/CombineGroupByOperator.java
index dee7fd7..99cf0c3 100644
--- 
a/pinot-core/src/main/java/org/apache/pinot/core/operator/CombineGroupByOperator.java
+++ 
b/pinot-core/src/main/java/org/apache/pinot/core/operator/CombineGroupByOperator.java
@@ -54,10 +54,17 @@ public class CombineGroupByOperator extends 
BaseOperator _operators;
   private final BrokerRequest _brokerRequest;
   private final ExecutorService _executorService;
   private final long _timeOutMs;
+  // Limit on number of groups stored for each segment, beyond which no new 
group will be created
   private final int _numGroupsLimit;
 
   public CombineGroupByOperator(List operators, BrokerRequest 
brokerRequest, ExecutorService executorService,
@@ -96,6 +103,7 @@ public class CombineGroupByOperator extends 
BaseOperator resultsMap = new ConcurrentHashMap<>();
 AtomicInteger numGroups = new AtomicInteger();
+int interSegmentNumGroupsLimit = _numGroupsLimit * 
INTER_SEGMENT_NUM_GROUPS_LIMIT_FACTOR;
 ConcurrentLinkedQueue mergedProcessingExceptions = 
new ConcurrentLinkedQueue<>();
 
 AggregationFunctionContext[] aggregationFunctionContexts =
@@ -134,8 +142,7 @@ public class CombineGroupByOperator extends 
BaseOperator {
   if (value == null) {
-if (numGroups.get() < _numGroupsLimit) {
-  numGroups.getAndIncrement();
+if (numGroups.getAndIncrement() < 
interSegmentNumGroupsLimit) {
   value = new Object[numAggregationFunctions];
   for (int i = 0; i < numAggregationFunctions; i++) {
 value[i] = 
aggregationGroupByResult.getResultForKey(groupKey, i);
@@ -198,8 +205,10 @@ public class CombineGroupByOperator extends 
BaseOperator= _numGroupsLimit) {
+
+  // TODO: this value should be set in the inner-segment operators. 
Setting it here might cause false positive as we
+  //   are comparing number of groups across segments with the groups 
limit for each segment.
+  if (resultsMap.size() >= _numGroupsLimit) {
 mergedBlock.setNumGroupsLimitReached(true);
   }
 
diff --git 
a/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java 
b/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java
index ee3c888..c0cce5a 100644
--- a/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java
+++ b/pinot-core/src/main/java/org/apache/pinot/core/plan/CombinePlanNode.java
@@ -56,6 +56,7 @@ public class CombinePlanNode implements PlanNode {
* @param brokerRequest Broker request
* @param executorService Executor service
* @param timeOutMs Time out in milliseconds for query execution (not for 
planning phase)
+   * @param numGroupsLimit Limit of number of groups stored in each segment
*/
   public CombinePlanNode(List planNodes, BrokerRequest 
brokerRequest, ExecutorService executorService,
   long timeOutMs, int numGroupsLimit) {
diff --git 

[GitHub] [incubator-pinot] Jackie-Jiang merged pull request #4208: Increase the limit of groups in combine operator (inter-segments)

2019-05-20 Thread GitBox
Jackie-Jiang merged pull request #4208: Increase the limit of groups in combine 
operator (inter-segments)
URL: https://github.com/apache/incubator-pinot/pull/4208
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang edited a comment on issue #4214: Support default BYTES (zero-length byte array) in aggregation function and aggregator

2019-05-20 Thread GitBox
Jackie-Jiang edited a comment on issue #4214: Support default BYTES 
(zero-length byte array) in aggregation function and aggregator
URL: https://github.com/apache/incubator-pinot/pull/4214#issuecomment-494201220
 
 
   @kishoreg Without this PR, in order to create default columns for serialized 
Object such as HyperLogLog, TDigest etc., user needs to serialize the default 
Object (empty HyperLogLog or TDigest) in order to get the default value and 
then put it into the schema. The default values are quite long for these 
Objects (HyperLogLog: 
"000800ac";
 QDigest: 
"3faa0004b9467fff8000";
 TDigest: "00017ff0fff04059").
   With this PR, we directly treat empty byte array as null, so user doesn't 
need to specify such default values.
   
   Besides, this PR allows user to put empty byte array to skip a value which 
can save storage and reduce computation cost. E.g. for a HyperLogLog column, if 
there is no value inside, user can simply put an empty array instead of the 
serialized byte array.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang edited a comment on issue #4214: Support default BYTES (zero-length byte array) in aggregation function and aggregator

2019-05-20 Thread GitBox
Jackie-Jiang edited a comment on issue #4214: Support default BYTES 
(zero-length byte array) in aggregation function and aggregator
URL: https://github.com/apache/incubator-pinot/pull/4214#issuecomment-494201220
 
 
   @kishoreg Without this PR, in order to create default columns for serialized 
Object such as HyperLogLog, TDigest etc., user needs to serialize the default 
Object (empty HyperLogLog or TDigest) in order to get the default value and 
then put it into the schema. The default values are quite long for these 
Objects (HyperLogLog: 
"000800ac";
 QDigest: 
"3faa0004b9467fff8000";
 TDigest: "00017ff0fff04059").
   With this PR, we directly treat empty byte array as null, so user doesn't 
need to specify such default values.
   
   Besides, this PR allows user to put empty byte array to skip a value which 
can save storage and reduce computation cost. E.g. for one record, there is not 
value in the HyperLogLog, user can simply put an empty array instead of the 
serialized byte array.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on issue #4214: Support default BYTES (zero-length byte array) in aggregation function and aggregator

2019-05-20 Thread GitBox
Jackie-Jiang commented on issue #4214: Support default BYTES (zero-length byte 
array) in aggregation function and aggregator
URL: https://github.com/apache/incubator-pinot/pull/4214#issuecomment-494201220
 
 
   @kishoreg Without this PR, in order to create default columns for serialized 
Object such as HyperLogLog, TDigest etc., user needs to serialize the default 
Object (empty HyperLogLog or TDigest) in order to get the default value and 
then put it into the schema. The default values are quite long for these 
Objects (HyperLogLog: 
"000800ac";
 QDigest: 
"3faa0004b9467fff8000";
 TDigest: "00017ff0fff04059").
   With this PR, we directly treat empty byte array as null, so user doesn't 
need to specify such default values.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] kishoreg commented on issue #4214: Support default BYTES (zero-length byte array) in aggregation function and aggregator

2019-05-20 Thread GitBox
kishoreg commented on issue #4214: Support default BYTES (zero-length byte 
array) in aggregation function and aggregator
URL: https://github.com/apache/incubator-pinot/pull/4214#issuecomment-494199425
 
 
   Can you point us to a concrete query/usecase where this PR would help? What 
would be the behavior without this PR.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] codecov-io edited a comment on issue #4222: Add startup/shutdown checks for HelixServerStarter

2019-05-20 Thread GitBox
codecov-io edited a comment on issue #4222: Add startup/shutdown checks for 
HelixServerStarter
URL: https://github.com/apache/incubator-pinot/pull/4222#issuecomment-493717771
 
 
   # 
[Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=h1) 
Report
   > Merging 
[#4222](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=desc) 
into 
[master](https://codecov.io/gh/apache/incubator-pinot/commit/d2087b365859c215a55900a47b3f9a9355808157?src=pr=desc)
 will **increase** coverage by `0.07%`.
   > The diff coverage is `27.33%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/incubator-pinot/pull/4222/graphs/tree.svg?width=650=4ibza2ugkz=150=pr)](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=tree)
   
   ```diff
   @@ Coverage Diff  @@
   ## master#4222  +/-   ##
   
   + Coverage 67.15%   67.22%   +0.07% 
 Complexity   20   20  
   
 Files  1036 1039   +3 
 Lines 5153651528   -8 
 Branches   7220 7229   +9 
   
   + Hits  3460734639  +32 
   + Misses1455714518  -39 
   + Partials   2372 2371   -1
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=tree) | 
Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | 
[...org/apache/pinot/common/utils/CommonConstants.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vdXRpbHMvQ29tbW9uQ29uc3RhbnRzLmphdmE=)
 | `45.65% <ø> (+10.86%)` | `0 <0> (ø)` | :arrow_down: |
   | 
[...pinot/server/starter/helix/HelixServerStarter.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3Qtc2VydmVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zZXJ2ZXIvc3RhcnRlci9oZWxpeC9IZWxpeFNlcnZlclN0YXJ0ZXIuamF2YQ==)
 | `46.28% <27.33%> (-8.7%)` | `0 <0> (ø)` | |
   | 
[...er/validation/BrokerResourceValidationManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL0Jyb2tlclJlc291cmNlVmFsaWRhdGlvbk1hbmFnZXIuamF2YQ==)
 | `25% <0%> (-56.25%)` | `0% <0%> (ø)` | |
   | 
[...a/manager/realtime/RealtimeSegmentDataManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9kYXRhL21hbmFnZXIvcmVhbHRpbWUvUmVhbHRpbWVTZWdtZW50RGF0YU1hbmFnZXIuamF2YQ==)
 | `50% <0%> (-50%)` | `0% <0%> (ø)` | |
   | 
[.../apache/pinot/core/transport/DataTableHandler.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS90cmFuc3BvcnQvRGF0YVRhYmxlSGFuZGxlci5qYXZh)
 | `88% <0%> (-12%)` | `0% <0%> (ø)` | |
   | 
[...elix/core/relocation/RealtimeSegmentRelocator.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci9oZWxpeC9jb3JlL3JlbG9jYXRpb24vUmVhbHRpbWVTZWdtZW50UmVsb2NhdG9yLmphdmE=)
 | `73.62% <0%> (-8.8%)` | `0% <0%> (ø)` | |
   | 
[...pache/pinot/core/util/SortedRangeIntersection.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS91dGlsL1NvcnRlZFJhbmdlSW50ZXJzZWN0aW9uLmphdmE=)
 | `83.82% <0%> (-7.36%)` | `0% <0%> (ø)` | |
   | 
[...impl/dictionary/FloatOffHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRmxvYXRPZmZIZWFwTXV0YWJsZURpY3Rpb25hcnkuamF2YQ==)
 | `83.63% <0%> (-7.28%)` | `0% <0%> (ø)` | |
   | 
[...mpl/dictionary/DoubleOffHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRG91YmxlT2ZmSGVhcE11dGFibGVEaWN0aW9uYXJ5LmphdmE=)
 | `65.45% <0%> (-7.28%)` | `0% <0%> (ø)` | |
   | 
[.../apache/pinot/common/config/RealtimeTagConfig.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vY29uZmlnL1JlYWx0aW1lVGFnQ29uZmlnLmphdmE=)
 | `93.33% <0%> (-6.67%)` | `0% <0%> (ø)` | |
   | ... and [37 
more](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree-more)
 | |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=continue).
   > **Legend** - [Click here to learn 

[GitHub] [incubator-pinot] akshayrai commented on a change in pull request #4221: [TE] Code cleanup - Pull out all validation checks from translator into validator modules

2019-05-20 Thread GitBox
akshayrai commented on a change in pull request #4221: [TE] Code cleanup - Pull 
out all validation checks from translator into validator modules
URL: https://github.com/apache/incubator-pinot/pull/4221#discussion_r285804479
 
 

 ##
 File path: 
thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/validators/ConfigValidator.java
 ##
 @@ -29,17 +29,24 @@
  */
 interface ConfigValidator {
   /**
-   * Validate the configuration. Thrown a validation exception if validation 
failed.
+   * Validate the configuration
* @param config the config
-   * @throws ValidationException the validation exception with error message
+   * @throws IllegalArgumentException exception with error message
*/
-  void validateConfig(T config) throws ValidationException;
+  void validateConfig(T config) throws IllegalArgumentException;
 
   /**
-   * Validate the configuration. Thrown a validation exception if validation 
failed.
+   * Validate the yaml configuration
+   * @param config the config
+   * @throws IllegalArgumentException exception with error message
+   */
+  void validateConfig(Map config) throws 
IllegalArgumentException;
 
 Review comment:
   Updated!


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] akshayrai commented on a change in pull request #4221: [TE] Code cleanup - Pull out all validation checks from translator into validator modules

2019-05-20 Thread GitBox
akshayrai commented on a change in pull request #4221: [TE] Code cleanup - Pull 
out all validation checks from translator into validator modules
URL: https://github.com/apache/incubator-pinot/pull/4221#discussion_r285804473
 
 

 ##
 File path: 
thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlDetectionConfigTranslator.java
 ##
 @@ -77,7 +81,7 @@ public YamlDetectionConfigTranslator 
withExistingDetectionConfig(DetectionConfig
* Fill in common fields of detection config. Properties of the pipeline is 
filled by the subclass.
*/
   public DetectionConfigDTO generateDetectionConfig() {
-validateYAML(yamlConfig);
+detectionValidator.validateConfig(yamlConfig);
 
 Review comment:
   Yes. I have already made these changes in the translator cleanup PR which I 
will raise soon.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] akshayrai commented on a change in pull request #4221: [TE] Code cleanup - Pull out all validation checks from translator into validator modules

2019-05-20 Thread GitBox
akshayrai commented on a change in pull request #4221: [TE] Code cleanup - Pull 
out all validation checks from translator into validator modules
URL: https://github.com/apache/incubator-pinot/pull/4221#discussion_r285804483
 
 

 ##
 File path: 
thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlResource.java
 ##
 @@ -160,7 +156,12 @@ private DetectionConfigDTO 
buildDetectionConfigFromYaml(long tuningStartTime, lo
   tuningStartTime = tuningEndTime - TimeUnit.DAYS.toMillis(28);
 }
 
-YamlDetectionConfigTranslator translator = 
this.translatorLoader.from(yamlConfig, this.provider);
+YamlDetectionConfigTranslator translator;
+try {
+  translator = this.translatorLoader.from(yamlConfig, this.provider);
+} catch (Exception e) {
+  throw new IllegalArgumentException("Unable to instantiate the detection 
pipeline. Please verify the pipelineType");
 
 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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang merged pull request #4198: Enhance the support for BYTES data type

2019-05-20 Thread GitBox
Jackie-Jiang merged pull request #4198: Enhance the support for BYTES data type
URL: https://github.com/apache/incubator-pinot/pull/4198
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch master updated: Enhance the support for BYTES data type (#4198)

2019-05-20 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/incubator-pinot.git


The following commit(s) were added to refs/heads/master by this push:
 new bbf91c7  Enhance the support for BYTES data type (#4198)
bbf91c7 is described below

commit bbf91c7210abf6399006b8770632e2c9ec7e159d
Author: Xiaotian (Jackie) Jiang <1751+jackie-ji...@users.noreply.github.com>
AuthorDate: Mon May 20 16:29:14 2019 -0700

Enhance the support for BYTES data type (#4198)

1. Add BytesUtils to handle encode/decode for Hex string
2. Add FieldSpec.DataType.convert() to convert string value to data type
3. Support Hex string for index(), indexOf(), inRange() in all BYTES 
dictionaries
4. Add MutableDictionary.compare(dictId1, dictId2) to help the sort process 
and support sorting byte[]
5. Support returning Hex string in group-by for byte[] column
6. In MutableSegmentImpl, uniform the sort for all types, reduce the memory 
usage especially for STRING and BYTES columns
---
 .../org/apache/pinot/common/data/FieldSpec.java|  54 +++
 .../org/apache/pinot/common/utils/BytesUtils.java  |  56 +++
 .../pinot/common/utils/primitive/ByteArray.java|  14 +-
 .../org/apache/pinot/common/data/SchemaTest.java   |   8 +-
 .../indexsegment/mutable/MutableSegmentImpl.java   | 174 -
 .../groupby/DictionaryBasedGroupKeyGenerator.java  |   6 +-
 .../core/query/pruner/AbstractSegmentPruner.java   |  25 ++-
 ...SelectionSingleValueColumnWithDictIterator.java |   4 +-
 .../iterator/StringSelectionColumnIterator.java|   5 +-
 .../converter/stats/RealtimeColumnStatistics.java  |  51 +++---
 .../dictionary/BaseOffHeapMutableDictionary.java   |  30 
 .../dictionary/BaseOnHeapMutableDictionary.java|   1 -
 .../dictionary/BytesOffHeapMutableDictionary.java  |  48 ++
 .../dictionary/BytesOnHeapMutableDictionary.java   |  48 ++
 .../dictionary/DoubleOffHeapMutableDictionary.java |  47 +++---
 .../dictionary/DoubleOnHeapMutableDictionary.java  |   5 +
 .../dictionary/FloatOffHeapMutableDictionary.java  |  48 +++---
 .../dictionary/FloatOnHeapMutableDictionary.java   |   5 +
 .../dictionary/IntOffHeapMutableDictionary.java|  48 +++---
 .../dictionary/IntOnHeapMutableDictionary.java |   5 +
 .../dictionary/LongOffHeapMutableDictionary.java   |  48 +++---
 .../dictionary/LongOnHeapMutableDictionary.java|   5 +
 .../impl/dictionary/MutableDictionary.java |   5 +
 .../dictionary/StringOffHeapMutableDictionary.java |  15 +-
 .../dictionary/StringOnHeapMutableDictionary.java  |  19 +--
 .../core/segment/index/readers/BaseDictionary.java |   1 -
 .../segment/index/readers/BytesDictionary.java |  10 +-
 .../pinot/core/util/FixedIntArrayOffHeapIdMap.java |   8 +-
 .../impl/dictionary/MutableDictionaryTest.java |   3 +-
 .../readers/ImmutableDictionaryReaderTest.java |   1 +
 .../segments/v1/creator/DictionariesTest.java  |  39 -
 31 files changed, 387 insertions(+), 449 deletions(-)

diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/data/FieldSpec.java 
b/pinot-common/src/main/java/org/apache/pinot/common/data/FieldSpec.java
index 00192a6..beac069 100644
--- a/pinot-common/src/main/java/org/apache/pinot/common/data/FieldSpec.java
+++ b/pinot-common/src/main/java/org/apache/pinot/common/data/FieldSpec.java
@@ -22,11 +22,9 @@ import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import javax.annotation.Nullable;
 import org.apache.avro.Schema.Type;
-import org.apache.commons.codec.DecoderException;
-import org.apache.commons.codec.binary.Hex;
-import org.apache.pinot.common.Utils;
 import org.apache.pinot.common.config.ConfigKey;
 import org.apache.pinot.common.config.ConfigNodeLifecycleAware;
+import org.apache.pinot.common.utils.BytesUtils;
 import org.apache.pinot.common.utils.EqualityUtils;
 import org.apache.pinot.common.utils.JsonUtils;
 
@@ -168,7 +166,7 @@ public abstract class FieldSpec implements 
Comparable, ConfigNodeLife
*/
   protected static String getStringValue(Object value) {
 if (value instanceof byte[]) {
-  return Hex.encodeHexString((byte[]) value);
+  return BytesUtils.toHexString((byte[]) value);
 } else {
   return value.toString();
 }
@@ -187,26 +185,7 @@ public abstract class FieldSpec implements 
Comparable, ConfigNodeLife
   private static Object getDefaultNullValue(FieldType fieldType, DataType 
dataType,
   @Nullable String stringDefaultNullValue) {
 if (stringDefaultNullValue != null) {
-  switch (dataType) {
-case INT:
-  return Integer.valueOf(stringDefaultNullValue);
-case LONG:
-  return Long.valueOf(stringDefaultNullValue);
-case FLOAT:
-  return Float.valueOf(stringDefaultNullValue);
-case DOUBLE:
-  return 

[incubator-pinot] branch bytes-enhancement deleted (was 791f804)

2019-05-20 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

jackie pushed a change to branch bytes-enhancement
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.


 was 791f804  Enhance the support for BYTES data type

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



[GitHub] [incubator-pinot] kishoreg commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
kishoreg commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#issuecomment-494185128
 
 
   Agree with providing a simple wait for now but let's keep the default to 0 
and allow users to override if needed.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on issue #4208: Increase the limit of groups in combine operator (inter-segments)

2019-05-20 Thread GitBox
Jackie-Jiang commented on issue #4208: Increase the limit of groups in combine 
operator (inter-segments)
URL: https://github.com/apache/incubator-pinot/pull/4208#issuecomment-494184960
 
 
   @kishoreg Can you have another look on 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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang closed pull request #2829: Add query option 'attachValueInForColumns' to automatically attach VALUE_IN UDF to MV group-by columns

2019-05-20 Thread GitBox
Jackie-Jiang closed pull request #2829: Add query option 
'attachValueInForColumns' to automatically attach VALUE_IN UDF to MV group-by 
columns
URL: https://github.com/apache/incubator-pinot/pull/2829
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on a change in pull request #4222: Add startup/shutdown checks for HelixServerStarter

2019-05-20 Thread GitBox
Jackie-Jiang commented on a change in pull request #4222: Add startup/shutdown 
checks for HelixServerStarter
URL: https://github.com/apache/incubator-pinot/pull/4222#discussion_r285802018
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/CommonConstants.java
 ##
 @@ -171,13 +171,8 @@ public ServerType getServerType() {
 public static final String CONFIG_OF_REQUEST_HANDLER_FACTORY_CLASS = 
"pinot.server.requestHandlerFactory.class";
 public static final String CONFIG_OF_NETTY_PORT = 
"pinot.server.netty.port";
 public static final String CONFIG_OF_ADMIN_API_PORT = 
"pinot.server.adminapi.port";
-public static final String CONFIG_OF_STARTER_ENABLE_SEGMENTS_LOADING_CHECK 
=
 
 Review comment:
   Discussed offline, log warnings for usage of deprecated config keys


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch server_restart updated (fb005da -> f91eaa3)

2019-05-20 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

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


from fb005da  Add startup/shutdown checks for HelixServerStarter
 add f91eaa3  Address comment

No new revisions were added by this update.

Summary of changes:
 .../org/apache/pinot/common/utils/CommonConstants.java| 15 +++
 .../pinot/server/starter/helix/HelixServerStarter.java|  9 +
 2 files changed, 24 insertions(+)


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



[GitHub] [incubator-pinot] codecov-io edited a comment on issue #4222: Add startup/shutdown checks for HelixServerStarter

2019-05-20 Thread GitBox
codecov-io edited a comment on issue #4222: Add startup/shutdown checks for 
HelixServerStarter
URL: https://github.com/apache/incubator-pinot/pull/4222#issuecomment-493717771
 
 
   # 
[Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=h1) 
Report
   > Merging 
[#4222](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=desc) 
into 
[master](https://codecov.io/gh/apache/incubator-pinot/commit/d2087b365859c215a55900a47b3f9a9355808157?src=pr=desc)
 will **decrease** coverage by `0.01%`.
   > The diff coverage is `26.66%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/incubator-pinot/pull/4222/graphs/tree.svg?width=650=4ibza2ugkz=150=pr)](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=tree)
   
   ```diff
   @@ Coverage Diff  @@
   ## master#4222  +/-   ##
   
   - Coverage 67.15%   67.13%   -0.02% 
 Complexity   20   20  
   
 Files  1036 1039   +3 
 Lines 5153651524  -12 
 Branches   7220 7227   +7 
   
   - Hits  3460734592  -15 
   - Misses1455714563   +6 
   + Partials   2372 2369   -3
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=tree) | 
Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | 
[...org/apache/pinot/common/utils/CommonConstants.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vdXRpbHMvQ29tbW9uQ29uc3RhbnRzLmphdmE=)
 | `45.65% <ø> (+10.86%)` | `0 <0> (ø)` | :arrow_down: |
   | 
[...pinot/server/starter/helix/HelixServerStarter.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3Qtc2VydmVyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9zZXJ2ZXIvc3RhcnRlci9oZWxpeC9IZWxpeFNlcnZlclN0YXJ0ZXIuamF2YQ==)
 | `46.22% <26.66%> (-8.76%)` | `0 <0> (ø)` | |
   | 
[...r/validation/RealtimeSegmentValidationManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL1JlYWx0aW1lU2VnbWVudFZhbGlkYXRpb25NYW5hZ2VyLmphdmE=)
 | `43.33% <0%> (-15%)` | `0% <0%> (ø)` | |
   | 
[...e/operator/dociditerators/SortedDocIdIterator.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9kb2NpZGl0ZXJhdG9ycy9Tb3J0ZWREb2NJZEl0ZXJhdG9yLmphdmE=)
 | `47.22% <0%> (-13.89%)` | `0% <0%> (ø)` | |
   | 
[...impl/dictionary/DoubleOnHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRG91YmxlT25IZWFwTXV0YWJsZURpY3Rpb25hcnkuamF2YQ==)
 | `68.88% <0%> (-13.34%)` | `0% <0%> (ø)` | |
   | 
[...impl/dictionary/FloatOffHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRmxvYXRPZmZIZWFwTXV0YWJsZURpY3Rpb25hcnkuamF2YQ==)
 | `83.63% <0%> (-7.28%)` | `0% <0%> (ø)` | |
   | 
[...e/impl/dictionary/LongOnHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvTG9uZ09uSGVhcE11dGFibGVEaWN0aW9uYXJ5LmphdmE=)
 | `88.88% <0%> (-6.67%)` | `0% <0%> (ø)` | |
   | 
[...nsport/netty/PooledNettyClientResourceManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtdHJhbnNwb3J0L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC90cmFuc3BvcnQvbmV0dHkvUG9vbGVkTmV0dHlDbGllbnRSZXNvdXJjZU1hbmFnZXIuamF2YQ==)
 | `85.41% <0%> (-4.17%)` | `0% <0%> (ø)` | |
   | 
[...inot/core/operator/filter/FilterOperatorUtils.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvRmlsdGVyT3BlcmF0b3JVdGlscy5qYXZh)
 | `84.37% <0%> (-3.13%)` | `0% <0%> (ø)` | |
   | 
[...ot/core/query/pruner/ColumnValueSegmentPruner.java](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9xdWVyeS9wcnVuZXIvQ29sdW1uVmFsdWVTZWdtZW50UHJ1bmVyLmphdmE=)
 | `87.32% <0%> (-2.82%)` | `0% <0%> (ø)` | |
   | ... and [25 
more](https://codecov.io/gh/apache/incubator-pinot/pull/4222/diff?src=pr=tree-more)
 | |
   
   --
   
   [Continue to review full report at 
Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4222?src=pr=continue).
   > **Legend** 

[GitHub] [incubator-pinot] Jackie-Jiang commented on issue #4225: Make Pinot schema evolution easier

2019-05-20 Thread GitBox
Jackie-Jiang commented on issue #4225: Make Pinot schema evolution easier
URL: 
https://github.com/apache/incubator-pinot/issues/4225#issuecomment-494165508
 
 
   @icefury71 The reload should be quite fast without impacting other tables. 
Please give it a try. I would not recommend generating the columns on the fly 
as all the columns in the schema are supposed to exist physically.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang closed issue #4029: Failure to retrieve data after adding column to table schema.

2019-05-20 Thread GitBox
Jackie-Jiang closed issue #4029: Failure to retrieve data after adding column 
to table schema. 
URL: https://github.com/apache/incubator-pinot/issues/4029
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on issue #74: About refreshing table after schema changed

2019-05-20 Thread GitBox
Jackie-Jiang commented on issue #74: About refreshing table after schema changed
URL: https://github.com/apache/incubator-pinot/issues/74#issuecomment-494164396
 
 
   You may use the reload API: 
**{controllerHost:port}/tables/{tableName}/segments/{segmentName}/reload** for 
single segment reload or 
**{controllerHost:port}/tables/{tableName}/segments/reload** for whole table 
reload.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang closed issue #74: About refreshing table after schema changed

2019-05-20 Thread GitBox
Jackie-Jiang closed issue #74: About refreshing table after schema changed
URL: https://github.com/apache/incubator-pinot/issues/74
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] icefury71 commented on issue #4225: Make Pinot schema evolution easier

2019-05-20 Thread GitBox
icefury71 commented on issue #4225: Make Pinot schema evolution easier
URL: 
https://github.com/apache/incubator-pinot/issues/4225#issuecomment-494164063
 
 
   @Jackie-Jiang We haven't benchmarked that yet - will do that. The initial 
suspicion was reloading segments will also take a non-trivial amount of time. 
But yes, will update this thread with some numbers.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch distribute_tasks updated (a4aca9e -> e26b461)

2019-05-20 Thread xhsun
This is an automated email from the ASF dual-hosted git repository.

xhsun pushed a change to branch distribute_tasks
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.


from a4aca9e  [TE] randomization when creating the task
 add e26b461  [TE] Distribute job load to add random delays

No new revisions were added by this update.

Summary of changes:
 .../org/apache/pinot/thirdeye/detection/DetectionPipelineJob.java| 5 +++--
 .../org/apache/pinot/thirdeye/detection/alert/DetectionAlertJob.java | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)


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



[GitHub] [incubator-pinot] Jackie-Jiang commented on a change in pull request #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
Jackie-Jiang commented on a change in pull request #4218: Add 
RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#discussion_r285779496
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/CommonConstants.java
 ##
 @@ -174,6 +174,8 @@ public ServerType getServerType() {
 public static final String CONFIG_OF_STARTER_ENABLE_SEGMENTS_LOADING_CHECK 
=
 "pinot.server.starter.enableSegmentsLoadingCheck";
 public static final String CONFIG_OF_STARTER_TIMEOUT_IN_SECONDS = 
"pinot.server.starter.timeoutInSeconds";
+public static final String 
CONFIG_OF_STARTER_REALTIME_CONSUMPTION_CATCHUP_WAIT_TIME_SECONDS =
 
 Review comment:
   I would put this along with the 
**CONFIG_OF_SERVER_MIN_RESOURCE_PERCENT_FOR_START** since both of them are for 
the status check instead of the starter. Maybe rename it to 
"pinot.server.startup.realtimeConsumptionCatchupTimeMs"?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on a change in pull request #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
Jackie-Jiang commented on a change in pull request #4218: Add 
RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#discussion_r285780063
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java
 ##
 @@ -127,34 +129,129 @@ public String getStatusDescription() {
   return statusDescription.toString();
 }
   }
+  
+  public static abstract class BaseServiceStatusCallback implements 
ServiceStatusCallback {
 
 Review comment:
   Yes, directly implement ServiceStatusCallback


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] codecov-io commented on issue #4226: Fix link for KafkaConsumerFactory in PluggableStreams doc

2019-05-20 Thread GitBox
codecov-io commented on issue #4226: Fix link for KafkaConsumerFactory in 
PluggableStreams doc
URL: https://github.com/apache/incubator-pinot/pull/4226#issuecomment-494162310
 
 
   # 
[Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4226?src=pr=h1) 
Report
   > Merging 
[#4226](https://codecov.io/gh/apache/incubator-pinot/pull/4226?src=pr=desc) 
into 
[master](https://codecov.io/gh/apache/incubator-pinot/commit/d2087b365859c215a55900a47b3f9a9355808157?src=pr=desc)
 will **decrease** coverage by `0.06%`.
   > The diff coverage is `n/a`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/incubator-pinot/pull/4226/graphs/tree.svg?width=650=4ibza2ugkz=150=pr)](https://codecov.io/gh/apache/incubator-pinot/pull/4226?src=pr=tree)
   
   ```diff
   @@ Coverage Diff  @@
   ## master#4226  +/-   ##
   
   - Coverage 67.15%   67.08%   -0.07% 
 Complexity   20   20  
   
 Files  1036 1036  
 Lines 5153651536  
 Branches   7220 7220  
   
   - Hits  3460734571  -36 
   - Misses1455714591  +34 
   - Partials   2372 2374   +2
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/incubator-pinot/pull/4226?src=pr=tree) | 
Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | 
[...r/validation/RealtimeSegmentValidationManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL1JlYWx0aW1lU2VnbWVudFZhbGlkYXRpb25NYW5hZ2VyLmphdmE=)
 | `43.33% <0%> (-15%)` | `0% <0%> (ø)` | |
   | 
[...esthandler/ConnectionPoolBrokerRequestHandler.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtYnJva2VyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9icm9rZXIvcmVxdWVzdGhhbmRsZXIvQ29ubmVjdGlvblBvb2xCcm9rZXJSZXF1ZXN0SGFuZGxlci5qYXZh)
 | `77.63% <0%> (-10.56%)` | `0% <0%> (ø)` | |
   | 
[...elix/core/relocation/RealtimeSegmentRelocator.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci9oZWxpeC9jb3JlL3JlbG9jYXRpb24vUmVhbHRpbWVTZWdtZW50UmVsb2NhdG9yLmphdmE=)
 | `73.62% <0%> (-8.8%)` | `0% <0%> (ø)` | |
   | 
[.../apache/pinot/common/config/RealtimeTagConfig.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vY29uZmlnL1JlYWx0aW1lVGFnQ29uZmlnLmphdmE=)
 | `93.33% <0%> (-6.67%)` | `0% <0%> (ø)` | |
   | 
[...impl/dictionary/DoubleOnHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRG91YmxlT25IZWFwTXV0YWJsZURpY3Rpb25hcnkuamF2YQ==)
 | `75.55% <0%> (-6.67%)` | `0% <0%> (ø)` | |
   | 
[...impl/dictionary/FloatOffHeapMutableDictionary.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9yZWFsdGltZS9pbXBsL2RpY3Rpb25hcnkvRmxvYXRPZmZIZWFwTXV0YWJsZURpY3Rpb25hcnkuamF2YQ==)
 | `87.27% <0%> (-3.64%)` | `0% <0%> (ø)` | |
   | 
[...der/HighLevelConsumerBasedRoutingTableBuilder.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtYnJva2VyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9icm9rZXIvcm91dGluZy9idWlsZGVyL0hpZ2hMZXZlbENvbnN1bWVyQmFzZWRSb3V0aW5nVGFibGVCdWlsZGVyLmphdmE=)
 | `90.9% <0%> (-3.04%)` | `0% <0%> (ø)` | |
   | 
[...ot/core/query/pruner/ColumnValueSegmentPruner.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9xdWVyeS9wcnVuZXIvQ29sdW1uVmFsdWVTZWdtZW50UHJ1bmVyLmphdmE=)
 | `87.32% <0%> (-2.82%)` | `0% <0%> (ø)` | |
   | 
[...broker/broker/helix/LiveInstanceChangeHandler.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtYnJva2VyL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9icm9rZXIvYnJva2VyL2hlbGl4L0xpdmVJbnN0YW5jZUNoYW5nZUhhbmRsZXIuamF2YQ==)
 | `57.44% <0%> (-2.13%)` | `0% <0%> (ø)` | |
   | 
[...inot/core/operator/docidsets/AndBlockDocIdSet.java](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9kb2NpZHNldHMvQW5kQmxvY2tEb2NJZFNldC5qYXZh)
 | `55.55% <0%> (-2.09%)` | `0% <0%> (ø)` | |
   | ... and [19 
more](https://codecov.io/gh/apache/incubator-pinot/pull/4226/diff?src=pr=tree-more)
 | |
   
   --
   
   [Continue to review full report at 

[GitHub] [incubator-pinot] npawar merged pull request #4211: StreamPartitionAssignmentStrategy interface to plug in various partition assignment strategies (uniform, replica group based)

2019-05-20 Thread GitBox
npawar merged pull request #4211: StreamPartitionAssignmentStrategy interface 
to plug in various partition assignment strategies (uniform, replica group 
based)
URL: https://github.com/apache/incubator-pinot/pull/4211
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch master updated: StreamPartitionAssignmentStrategy interface to plug in various partition assignment strategies (uniform, replica group based) (#4211)

2019-05-20 Thread nehapawar
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 7a39165  StreamPartitionAssignmentStrategy interface to plug in 
various partition assignment strategies (uniform, replica group based) (#4211)
7a39165 is described below

commit 7a391659faf15010b9594886a281592886ca1d62
Author: Neha Pawar 
AuthorDate: Mon May 20 14:37:11 2019 -0700

StreamPartitionAssignmentStrategy interface to plug in various partition 
assignment strategies (uniform, replica group based) (#4211)

Phase 1 - Step 2 of https://github.com/apache/incubator-pinot/issues/4192
---
 ...roupBasedStreamPartitionAssignmentStrategy.java |  82 
 .../StreamPartitionAssignmentGenerator.java|  51 +---
 .../StreamPartitionAssignmentStrategy.java |  39 ++
 .../StreamPartitionAssignmentStrategyFactory.java  |  46 +++
 .../UniformStreamPartitionAssignmentStrategy.java  |  66 ++
 ...icaGroupBasedStreamPartitionAssignmentTest.java | 140 +
 .../StreamPartitionAssignmentGeneratorTest.java|  45 ++-
 .../UniformStreamPartitionAssignmentTest.java  |  94 ++
 .../ReplicaGroupRebalanceSegmentStrategy.java  |  11 +-
 9 files changed, 518 insertions(+), 56 deletions(-)

diff --git 
a/pinot-common/src/main/java/org/apache/pinot/common/partition/ReplicaGroupBasedStreamPartitionAssignmentStrategy.java
 
b/pinot-common/src/main/java/org/apache/pinot/common/partition/ReplicaGroupBasedStreamPartitionAssignmentStrategy.java
new file mode 100644
index 000..43fe69a
--- /dev/null
+++ 
b/pinot-common/src/main/java/org/apache/pinot/common/partition/ReplicaGroupBasedStreamPartitionAssignmentStrategy.java
@@ -0,0 +1,82 @@
+/**
+ * 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.partition;
+
+import com.google.common.annotations.VisibleForTesting;
+import java.util.ArrayList;
+import java.util.List;
+import javax.annotation.Nonnull;
+import org.apache.helix.HelixManager;
+import org.apache.pinot.common.exception.InvalidConfigException;
+
+
+/**
+ * Replica group based partition assignment strategy for realtime partitions
+ */
+public class ReplicaGroupBasedStreamPartitionAssignmentStrategy implements 
StreamPartitionAssignmentStrategy {
+
+  /**
+   * Fetches the replica group partition assignment znode and assigns 
partitions across the replica groups.
+   * A vertical slice will be picked form the replica group sets for a 
partition, based on the formula:
+   * vertical slice = partition % numInstancesPerReplicaGroup
+   */
+  @Override
+  public PartitionAssignment getStreamPartitionAssignment(HelixManager 
helixManager, @Nonnull String tableNameWithType,
+  @Nonnull List partitions, int numReplicas, List 
instances) throws InvalidConfigException {
+
+ReplicaGroupPartitionAssignment replicaGroupPartitionAssignment =
+getReplicaGroupPartitionAssignment(helixManager, tableNameWithType);
+if (replicaGroupPartitionAssignment == null) {
+  throw new InvalidConfigException("ReplicaGroupPartitionAssignment is 
null for table:" + tableNameWithType);
+}
+int numReplicaGroups = 
replicaGroupPartitionAssignment.getNumReplicaGroups();
+// TODO: we might move to a model of not having the same 
numInstancesPerReplicaGroup.
+// We would have to handle numInstancesInReplicaGroup on a replica group 
by replica group basis, and uniformly assign withing each replica group
+int numInstancesPerReplicaGroup = 
replicaGroupPartitionAssignment.getInstancesFromReplicaGroup(0, 0).size();
+
+PartitionAssignment streamPartitionAssignment = new 
PartitionAssignment(tableNameWithType);
+
+List> verticalSlices = new 
ArrayList<>(numInstancesPerReplicaGroup);
+for (int i = 0; i < numInstancesPerReplicaGroup; i++) {
+  verticalSlices.add(new ArrayList<>(numReplicaGroups));
+}
+
+for (int replicaGroupNumber = 0; replicaGroupNumber < numReplicaGroups; 
replicaGroupNumber++) {
+  List instancesFromReplicaGroup =
+  

[incubator-pinot] branch server_restart updated (630245a -> fb005da)

2019-05-20 Thread jackie
This is an automated email from the ASF dual-hosted git repository.

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


 discard 630245a  Add startup/shutdown checks for HelixServerStarter
 add fb005da  Add startup/shutdown checks for HelixServerStarter

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (630245a)
\
 N -- N -- N   refs/heads/server_restart (fb005da)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .../server/starter/helix/HelixServerStarter.java   | 28 ++
 1 file changed, 13 insertions(+), 15 deletions(-)


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



[GitHub] [incubator-pinot] npawar commented on a change in pull request #4211: StreamPartitionAssignmentStrategy interface to plug in various partition assignment strategies (uniform, replica group ba

2019-05-20 Thread GitBox
npawar commented on a change in pull request #4211: 
StreamPartitionAssignmentStrategy interface to plug in various partition 
assignment strategies (uniform, replica group based)
URL: https://github.com/apache/incubator-pinot/pull/4211#discussion_r285774010
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/partition/StreamPartitionAssignmentStrategy.java
 ##
 @@ -0,0 +1,38 @@
+/**
+ * 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.partition;
+
+import java.util.List;
+import javax.annotation.Nonnull;
+import org.apache.helix.HelixManager;
+import org.apache.pinot.common.exception.InvalidConfigException;
+
+
+/**
+ * Creates a partition assignment for the partitions of a realtime table
+ */
+// TODO: Unify the interfaces for {@link 
org.apache.pinot.controller.helix.core.sharding.SegmentAssignmentStrategy} and 
{@link StreamPartitionAssignmentStrategy}
+public interface StreamPartitionAssignmentStrategy {
+
+  /**
+   * Given the list of partitions and replicas, come up with a {@link 
PartitionAssignment}
+   */
+  PartitionAssignment getStreamPartitionAssignment(HelixManager helixManager, 
@Nonnull String tableNameWithType,
 
 Review comment:
   Added it as a TODO for now, to be done when we decide to use it. Should be 
fairly easy to bring it in. Did not add it right now, because it would be fair 
bit of computation each time to compute from ideal state, and better to avoid 
it until we will actually want to use 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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on a change in pull request #4222: Add startup/shutdown checks for HelixServerStarter

2019-05-20 Thread GitBox
Jackie-Jiang commented on a change in pull request #4222: Add startup/shutdown 
checks for HelixServerStarter
URL: https://github.com/apache/incubator-pinot/pull/4222#discussion_r285773257
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/CommonConstants.java
 ##
 @@ -171,13 +171,8 @@ public ServerType getServerType() {
 public static final String CONFIG_OF_REQUEST_HANDLER_FACTORY_CLASS = 
"pinot.server.requestHandlerFactory.class";
 public static final String CONFIG_OF_NETTY_PORT = 
"pinot.server.netty.port";
 public static final String CONFIG_OF_ADMIN_API_PORT = 
"pinot.server.adminapi.port";
-public static final String CONFIG_OF_STARTER_ENABLE_SEGMENTS_LOADING_CHECK 
=
 
 Review comment:
   IMO we should not keep unused constants in the code base, it's better to put 
them in the release log.


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] codecov-io edited a comment on issue #4211: StreamPartitionAssignmentStrategy interface to plug in various partition assignment strategies (uniform, replica group based)

2019-05-20 Thread GitBox
codecov-io edited a comment on issue #4211: StreamPartitionAssignmentStrategy 
interface to plug in various partition assignment strategies (uniform, replica 
group based)
URL: https://github.com/apache/incubator-pinot/pull/4211#issuecomment-492875911
 
 
   # 
[Codecov](https://codecov.io/gh/apache/incubator-pinot/pull/4211?src=pr=h1) 
Report
   > Merging 
[#4211](https://codecov.io/gh/apache/incubator-pinot/pull/4211?src=pr=desc) 
into 
[master](https://codecov.io/gh/apache/incubator-pinot/commit/40df151e79882a9debedc2971e71625659e4f24f?src=pr=desc)
 will **decrease** coverage by `0.11%`.
   > The diff coverage is `92.72%`.
   
   [![Impacted file tree 
graph](https://codecov.io/gh/apache/incubator-pinot/pull/4211/graphs/tree.svg?width=650=4ibza2ugkz=150=pr)](https://codecov.io/gh/apache/incubator-pinot/pull/4211?src=pr=tree)
   
   ```diff
   @@ Coverage Diff  @@
   ## master#4211  +/-   ##
   
   - Coverage 67.23%   67.12%   -0.12% 
 Complexity   20   20  
   
 Files  1035 1039   +4 
 Lines 5151551570  +55 
 Branches   7220 7226   +6 
   
   - Hits  3463834615  -23 
   - Misses1450214584  +82 
   + Partials   2375 2371   -4
   ```
   
   
   | [Impacted 
Files](https://codecov.io/gh/apache/incubator-pinot/pull/4211?src=pr=tree) | 
Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | 
[.../partition/StreamPartitionAssignmentGenerator.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcGFydGl0aW9uL1N0cmVhbVBhcnRpdGlvbkFzc2lnbm1lbnRHZW5lcmF0b3IuamF2YQ==)
 | `93.87% <100%> (-1.21%)` | `0 <0> (ø)` | |
   | 
[...tion/UniformStreamPartitionAssignmentStrategy.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcGFydGl0aW9uL1VuaWZvcm1TdHJlYW1QYXJ0aXRpb25Bc3NpZ25tZW50U3RyYXRlZ3kuamF2YQ==)
 | `100% <100%> (ø)` | `0 <0> (?)` | |
   | 
[...ebalance/ReplicaGroupRebalanceSegmentStrategy.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci9oZWxpeC9jb3JlL3JlYmFsYW5jZS9SZXBsaWNhR3JvdXBSZWJhbGFuY2VTZWdtZW50U3RyYXRlZ3kuamF2YQ==)
 | `82.25% <100%> (-0.16%)` | `0 <0> (ø)` | |
   | 
[...caGroupBasedStreamPartitionAssignmentStrategy.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcGFydGl0aW9uL1JlcGxpY2FHcm91cEJhc2VkU3RyZWFtUGFydGl0aW9uQXNzaWdubWVudFN0cmF0ZWd5LmphdmE=)
 | `87.5% <87.5%> (ø)` | `0 <0> (?)` | |
   | 
[...tion/StreamPartitionAssignmentStrategyFactory.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vcGFydGl0aW9uL1N0cmVhbVBhcnRpdGlvbkFzc2lnbm1lbnRTdHJhdGVneUZhY3RvcnkuamF2YQ==)
 | `88.88% <88.88%> (ø)` | `0 <0> (?)` | |
   | 
[...r/validation/RealtimeSegmentValidationManager.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29udHJvbGxlci9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29udHJvbGxlci92YWxpZGF0aW9uL1JlYWx0aW1lU2VnbWVudFZhbGlkYXRpb25NYW5hZ2VyLmphdmE=)
 | `43.33% <0%> (-38.34%)` | `0% <0%> (ø)` | |
   | 
[...he/pinot/core/query/pruner/ValidSegmentPruner.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9xdWVyeS9wcnVuZXIvVmFsaWRTZWdtZW50UHJ1bmVyLmphdmE=)
 | `57.14% <0%> (-28.58%)` | `0% <0%> (ø)` | |
   | 
[...apache/pinot/common/metrics/ValidationMetrics.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9waW5vdC9jb21tb24vbWV0cmljcy9WYWxpZGF0aW9uTWV0cmljcy5qYXZh)
 | `20.28% <0%> (-23.19%)` | `0% <0%> (ø)` | |
   | 
[...e/operator/dociditerators/SortedDocIdIterator.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9kb2NpZGl0ZXJhdG9ycy9Tb3J0ZWREb2NJZEl0ZXJhdG9yLmphdmE=)
 | `55.55% <0%> (-8.34%)` | `0% <0%> (ø)` | |
   | 
[...pache/pinot/core/util/SortedRangeIntersection.java](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS91dGlsL1NvcnRlZFJhbmdlSW50ZXJzZWN0aW9uLmphdmE=)
 | `83.82% <0%> (-7.36%)` | `0% <0%> (ø)` | |
   | ... and [31 
more](https://codecov.io/gh/apache/incubator-pinot/pull/4211/diff?src=pr=tree-more)
 | |
   
   --
   
   [Continue to review full report at 

[GitHub] [incubator-pinot] jihaozh opened a new pull request #4227: [TE] Fix MySql data source to read the epoch time stamps

2019-05-20 Thread GitBox
jihaozh opened a new pull request #4227: [TE] Fix MySql data source to read the 
epoch time stamps
URL: https://github.com/apache/incubator-pinot/pull/4227
 
 
   MySQL data source will throw an exception when reading the epoch timestamps 
dataset. This PR fixes the bug.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] Jackie-Jiang commented on a change in pull request #4133: add more types parsing for string coerceValueIntoField

2019-05-20 Thread GitBox
Jackie-Jiang commented on a change in pull request #4133:  add more types 
parsing for string coerceValueIntoField
URL: https://github.com/apache/incubator-pinot/pull/4133#discussion_r285767997
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/config/Deserializer.java
 ##
 @@ -349,17 +349,26 @@
 } else if (value instanceof String) {
   String stringValue = (String) value;
   try {
-if (Integer.class.isAssignableFrom(fieldType) || int.class
-.isAssignableFrom(fieldType)) { // field instanceof int/Integer
+if (fieldType.isAssignableFrom(Integer.class) || 
fieldType.isAssignableFrom(int.class)){
   destinationValue = Integer.parseInt(stringValue);
-} else if (Long.class.isAssignableFrom(fieldType)) { // field 
instanceof long/Long
+} else if (fieldType.isAssignableFrom(Long.class) || 
fieldType.isAssignableFrom(long.class)){
   destinationValue = Long.parseLong(stringValue);
-} else if (Boolean.class.isAssignableFrom(fieldType) || 
boolean.class.isAssignableFrom(fieldType)) {
+} else if (fieldType.isAssignableFrom(Boolean.class) || 
fieldType.isAssignableFrom(boolean.class)){
   destinationValue = Boolean.parseBoolean(stringValue);
-} else if (Enum.class.isAssignableFrom(fieldType)) {
+} else if (Enum.class.isAssignableFrom(fieldType)){
   destinationValue = 
Enum.valueOf(fieldType.asSubclass(Enum.class), stringValue.toUpperCase());
-} else {
-  // TODO Add float/double/short/char
+} else if (fieldType.isAssignableFrom(Float.class) || 
fieldType.isAssignableFrom(float.class)){
+  destinationValue = Float.parseFloat(stringValue);
+} else if (fieldType.isAssignableFrom(Double.class) || 
fieldType.isAssignableFrom(double.class)){
+  destinationValue = Double.parseDouble(stringValue);
+} else if (fieldType.isAssignableFrom(Short.class) || 
fieldType.isAssignableFrom(short.class)){
+  destinationValue = Short.parseShort(stringValue);
+} else if (fieldType.isAssignableFrom(Byte.class) || 
fieldType.isAssignableFrom(byte.class)){
+  destinationValue = stringValue.getBytes()[0];
 
 Review comment:
   Byte.parseByte(stringValue)?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] mayankshriv commented on issue #4225: Make Pinot schema evolution easier

2019-05-20 Thread GitBox
mayankshriv commented on issue #4225: Make Pinot schema evolution easier
URL: 
https://github.com/apache/incubator-pinot/issues/4225#issuecomment-494152235
 
 
   Just to clarify, I don't mean the virtual column semantics as they are 
defined today, but leverage parts of that solution to dynamically add a column 
that provides default values without having to generate one entry per row of 
the same value.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] mayankshriv commented on issue #4225: Make Pinot schema evolution easier

2019-05-20 Thread GitBox
mayankshriv commented on issue #4225: Make Pinot schema evolution easier
URL: 
https://github.com/apache/incubator-pinot/issues/4225#issuecomment-494150493
 
 
   We could also explore dynamically adding virtual columns to provide default 
values, to the consuming segments as well. Is there a fundamental reason why 
that is not possible/hard for consuming segments, that I couldn't gather from 
#151?
   
   @Jackie-Jiang What do you think about the virtual columns approach? Or if 
you have any other ideas?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] npawar opened a new pull request #4226: Fix link for KafkaConsumerFactory in PluggableStreams doc

2019-05-20 Thread GitBox
npawar opened a new pull request #4226: Fix link for KafkaConsumerFactory in 
PluggableStreams doc
URL: https://github.com/apache/incubator-pinot/pull/4226
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] icefury71 opened a new issue #4225: Make Pinot schema evolution easier

2019-05-20 Thread GitBox
icefury71 opened a new issue #4225: Make Pinot schema evolution easier
URL: https://github.com/apache/incubator-pinot/issues/4225
 
 
   This has been referenced in a few issues already:
   https://github.com/apache/incubator-pinot/issues/74
   https://github.com/apache/incubator-pinot/issues/4029
   
   But I'm creating a new issue to highlight the end-end problem.
   
   Here are the current steps to perform schema evolution in Pinot:
   1) Create a new schema with default values for new columns being added
   2) Update schema using Controller API
   3) Rolling restart the Pinot servers to "reload" the segments to reflect the 
default value.
   
   In general, restarting a Pinot server is very expensive (can take anywhere 
between 5 to 30 mins depending on number of segments). If we need to evolve the 
schema frequently, this becomes a huge operational overhead.
   
   An alternate way to resolve this issue is to backfill the old segments but 
this is an expensive process as well.
   
   **A better approach:**
   a) Segments which have been committed / ONLINE
   We can try to lookup the new schema "on the fly" during query processing 
using some technique (for eg: @mayankshriv suggested using virtual columns for 
old segments populated with default value). That way we don't depend on any 
server restart.
   
   b) Segments which are currently open / CONSUMING
   We need to solve this issue: 
https://github.com/apache/incubator-pinot/issues/151  (how to reflect new 
schema in an open segment).


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] xiaohui-sun commented on a change in pull request #4221: [TE] Code cleanup - Pull out all validation checks from translator into validator modules

2019-05-20 Thread GitBox
xiaohui-sun commented on a change in pull request #4221: [TE] Code cleanup - 
Pull out all validation checks from translator into validator modules
URL: https://github.com/apache/incubator-pinot/pull/4221#discussion_r285754262
 
 

 ##
 File path: 
thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlResource.java
 ##
 @@ -160,7 +156,12 @@ private DetectionConfigDTO 
buildDetectionConfigFromYaml(long tuningStartTime, lo
   tuningStartTime = tuningEndTime - TimeUnit.DAYS.toMillis(28);
 }
 
-YamlDetectionConfigTranslator translator = 
this.translatorLoader.from(yamlConfig, this.provider);
+YamlDetectionConfigTranslator translator;
+try {
+  translator = this.translatorLoader.from(yamlConfig, this.provider);
+} catch (Exception e) {
+  throw new IllegalArgumentException("Unable to instantiate the detection 
pipeline. Please verify the pipelineType");
 
 Review comment:
   Can you pass the original exception out?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] npawar commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
npawar commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#issuecomment-494139930
 
 
   > @npawar I have a few questions.
   > 
   > What is the impact on the latency and when does it kick in and for what 
kind of use cases?
   > How will the user know whats the right wait-time? We might still see the 
same issue if the server has not caught up within the wait time right?
   > 
   > One of the concerns here is that we stop the entire server from serving 
any other segment.
   > 
   > Looks like we need two things
   > 
   > * limit the number of threads for consumption so that it does not hog all 
the cpu during bootstrap/server startup
   > * Have the logic in the state transition for OFFLINE -> CONSUMING to not 
ack Helix until it's caught up. This has the added benefit that query results 
are up to date across all replicas.
   > 
   > I am ok with the temporary fix but was wondering what would be the right 
fix that requires minimal configuration from the user.
   
   The impact we've observed is usually for high ingestion rate realtime 
tables. The tables can usually take 2-3 minutes to completely catchup after 
server restart. During this time, we not only see high latencies/slow 
queries/timeouts because of cpu bottleneck, but also the results returned by 
that server will not be in sync with what other replicas return. 
   
   We decided to have a simple approach of static wait time to begin with, 
until we can get more information about the consumption rate. Yes we will still 
see the issue if the server has not caught up in the configured time. 
   We plan to include consumption rate related stats in server stats. Once we 
have those, we will remove the static wait. We will then wait until consumption 
rate stabilizes to the average rate or until idle.
   
   I can make the static wait to default 0 if having the default 5 is a problem?


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] jamesyfshao opened a new issue #4224: migrate to dropwizard metrics from yammer

2019-05-20 Thread GitBox
jamesyfshao opened a new issue #4224: migrate to dropwizard metrics from yammer
URL: https://github.com/apache/incubator-pinot/issues/4224
 
 
   Pinot currently is using yammer 2.2.0 for metrics reporting. This library 
development has been discontinued for multiple years now ([last 
updates](https://github.com/infusionsoft/yammer-metrics/commits/master) from 
2016/2017) and the [version we are using is from 
2012](https://github.com/infusionsoft/yammer-metrics/releases/tag/v2.2.0). 
Consider that yammer library publish company has switched to a very similar and 
mostly-compatible library ([dropwizard](https://metrics.dropwizard.io/4.0.0/)), 
we should work on switching to this new library for getting up-to-date bug fix 
and help other Pinot users to plug-in their own metrics reporting tools easier. 


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] kishoreg commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
kishoreg commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#issuecomment-494096953
 
 
   @npawar  I have a few questions. 
   
   What is the impact on the latency and when does it kick in and for what kind 
of use cases? 
   How will the user know whats the right wait-time? We might still see the 
same issue if the server has not caught up within the wait time right?
   
   One of the concerns here is that we stop the entire server from serving any 
other segment.
   
   Looks like we need two things
   - limit the number of threads for consumption so that it does not hog all 
the cpu during bootstrap/server startup
   -  Have the logic in the state transition for OFFLINE -> CONSUMING to not 
ack Helix until it's caught up. This has the added benefit that query results 
are up to date across all replicas.
   
   I am ok with the temporary fix but was wondering what would be the right fix 
that requires minimal configuration from the user.
   
   
   
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] jihaozh commented on a change in pull request #4221: [TE] Code cleanup - Pull out all validation checks from translator into validator modules

2019-05-20 Thread GitBox
jihaozh commented on a change in pull request #4221: [TE] Code cleanup - Pull 
out all validation checks from translator into validator modules
URL: https://github.com/apache/incubator-pinot/pull/4221#discussion_r285710466
 
 

 ##
 File path: 
thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/yaml/YamlDetectionConfigTranslator.java
 ##
 @@ -77,7 +81,7 @@ public YamlDetectionConfigTranslator 
withExistingDetectionConfig(DetectionConfig
* Fill in common fields of detection config. Properties of the pipeline is 
filled by the subclass.
*/
   public DetectionConfigDTO generateDetectionConfig() {
-validateYAML(yamlConfig);
+detectionValidator.validateConfig(yamlConfig);
 
 Review comment:
   How about calling detectionValidator in   
CompositePipelineConfigTranslator.java's constructor. After this refactoring, 
each YamlDetectionConfigTranslator implementation has a corresponding 
DetectionConfigValidator to handle different YAML formats. Because 
YamlDetectionConfigTranslator is loaded dynamically using reflection, it can 
call the respective validator. 
   
   For example, if we plan to add EntityLevelPipelineConfigTranslator, it can 
call EntityLevelDetectionValidator to validate the YAML.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] jihaozh commented on a change in pull request #4221: [TE] Code cleanup - Pull out all validation checks from translator into validator modules

2019-05-20 Thread GitBox
jihaozh commented on a change in pull request #4221: [TE] Code cleanup - Pull 
out all validation checks from translator into validator modules
URL: https://github.com/apache/incubator-pinot/pull/4221#discussion_r285700662
 
 

 ##
 File path: 
thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/validators/ConfigValidator.java
 ##
 @@ -29,17 +29,24 @@
  */
 interface ConfigValidator {
   /**
-   * Validate the configuration. Thrown a validation exception if validation 
failed.
+   * Validate the configuration
* @param config the config
-   * @throws ValidationException the validation exception with error message
+   * @throws IllegalArgumentException exception with error message
*/
-  void validateConfig(T config) throws ValidationException;
+  void validateConfig(T config) throws IllegalArgumentException;
 
   /**
-   * Validate the configuration. Thrown a validation exception if validation 
failed.
+   * Validate the yaml configuration
+   * @param config the config
+   * @throws IllegalArgumentException exception with error message
+   */
+  void validateConfig(Map config) throws 
IllegalArgumentException;
 
 Review comment:
   Could we rename this method to validateYaml? It is generally a good practice 
to refrain from overloading methods with multiple signatures that have the same 
number of parameters.  It's can be confusing and Java compiler sometimes 
handles this in an unexpected way. see more here 
http://www.informit.com/articles/article.aspx?p=31551=4


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] mcvsubbu commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
mcvsubbu commented on issue #4218: Add RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#issuecomment-494091417
 
 
   lgtm, @Jackie-Jiang had some comments on class hierarchy.  I am neutral on 
that.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] npawar commented on a change in pull request #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
npawar commented on a change in pull request #4218: Add 
RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#discussion_r285703765
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java
 ##
 @@ -127,34 +129,129 @@ public String getStatusDescription() {
   return statusDescription.toString();
 }
   }
+  
+  public static abstract class BaseServiceStatusCallback implements 
ServiceStatusCallback {
+private final String _clusterName;
+final String _instanceName;
+private final HelixAdmin _helixAdmin;
+private final HelixDataAccessor _helixDataAccessor;
+
+String _statusDescription = STATUS_DESCRIPTION_INIT;
+
+BaseServiceStatusCallback(HelixManager helixManager, String clusterName, 
String instanceName) {
+  _helixAdmin = helixManager.getClusterManagmentTool();
+  _helixDataAccessor = helixManager.getHelixDataAccessor();
+  _clusterName = clusterName;
+  _instanceName = instanceName;
+}
+
+@Override
+public synchronized String getStatusDescription() {
+  return _statusDescription;
+}
+
+protected IdealState getResourceIdealState(String resourceName) {
+  return _helixAdmin.getResourceIdealState(_clusterName, resourceName);
+}
+
+protected List getResourcesInCluster() {
+  return _helixAdmin.getResourcesInCluster(_clusterName);
+}
+
+protected ExternalView getResourceExternalView(String resourceName) {
+  return _helixAdmin.getResourceExternalView(_clusterName, resourceName);
+}
+
+protected CurrentState getCurrentState(String resourceName) {
+  PropertyKey.Builder keyBuilder = _helixDataAccessor.keyBuilder();
+  LiveInstance liveInstance = 
_helixDataAccessor.getProperty(keyBuilder.liveInstance(_instanceName));
+  String sessionId = liveInstance.getSessionId();
+  return 
_helixDataAccessor.getProperty(keyBuilder.currentState(_instanceName, 
sessionId, resourceName));
+}
+  }
+
+  /**
+   * Service status callback that checks whether realtime consumption has 
caught up
+   * TODO: In this initial version, we are simply adding a configurable static 
wait time
+   * This can be made smarter:
+   * 1) Keep track of average consumption rate for table in server stats
+   * 2) Monitor consumption rate during startup, report GOOD when it 
stabilizes to average rate
+   * 3) Monitor consumption rate during startup, report GOOD if it is idle
+   */
+  public static class RealtimeConsumptionCatchupServiceStatusCallback extends 
BaseServiceStatusCallback {
+
+private final Map> _tableToConsumingSegmentsMap;
+private long _endWaitTime = 0;
+
+/**
+ * Realtime consumption catchup service which adds a static wait time for
+ */
+public RealtimeConsumptionCatchupServiceStatusCallback(HelixManager 
helixManager, String clusterName, String instanceName,
+long realtimeConsumptionCatchupWaitTimeSeconds) {
+  super(helixManager, clusterName, instanceName);
+
+  _tableToConsumingSegmentsMap = new HashMap<>();
+  for (String resourceName : getResourcesInCluster()) {
+if (TableNameBuilder.isRealtimeTableResource(resourceName)) {
+
+  IdealState idealState = getResourceIdealState(resourceName);
+  if (idealState.isEnabled()) {
+List consumingSegments = new ArrayList<>();
+for (String segmentName : idealState.getPartitionSet()) {
+  Map instanceStateMap = 
idealState.getInstanceStateMap(segmentName);
+  if 
(CommonConstants.Helix.StateModel.RealtimeSegmentOnlineOfflineStateModel.CONSUMING.equals(
+  instanceStateMap.get(instanceName))) {
+consumingSegments.add(segmentName);
+  }
+}
+if (!consumingSegments.isEmpty()) {
+  _tableToConsumingSegmentsMap.put(resourceName, 
consumingSegments);
+}
+  }
+}
+  }
+
+  if (_tableToConsumingSegmentsMap.isEmpty()) {
+LOGGER.info(
+"No consuming segments to monitor on instance. Setting realtime 
consumption catchup wait time to 0ms");
+  } else {
+long startTime = System.currentTimeMillis();
+_endWaitTime = startTime + 
TimeUnit.SECONDS.toMillis(realtimeConsumptionCatchupWaitTimeSeconds);
+LOGGER.info("Monitoring realtime consumption catchup for tables:{}. 
Will wait for time:{} ms",
+_tableToConsumingSegmentsMap.keySet(), 
realtimeConsumptionCatchupWaitTimeSeconds);
+  }
+}
+
+@Override
+public Status getServiceStatus() {
+  long now = System.currentTimeMillis();
+  if (now < _endWaitTime) {
+_statusDescription = String.format("Waiting for CONSUMING segments to 
catchup, timeRemaining=%dms", _endWaitTime - System.currentTimeMillis());
+return Status.STARTING;
+  }
+  _statusDescription = "Wait time for CONSUMING segments catchup 

[GitHub] [incubator-pinot] npawar commented on a change in pull request #4218: Add RealtimeConsumptionCatchupServiceCallback

2019-05-20 Thread GitBox
npawar commented on a change in pull request #4218: Add 
RealtimeConsumptionCatchupServiceCallback
URL: https://github.com/apache/incubator-pinot/pull/4218#discussion_r285702265
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/ServiceStatus.java
 ##
 @@ -127,34 +129,129 @@ public String getStatusDescription() {
   return statusDescription.toString();
 }
   }
+  
+  public static abstract class BaseServiceStatusCallback implements 
ServiceStatusCallback {
+private final String _clusterName;
+final String _instanceName;
+private final HelixAdmin _helixAdmin;
+private final HelixDataAccessor _helixDataAccessor;
+
+String _statusDescription = STATUS_DESCRIPTION_INIT;
+
+BaseServiceStatusCallback(HelixManager helixManager, String clusterName, 
String instanceName) {
+  _helixAdmin = helixManager.getClusterManagmentTool();
+  _helixDataAccessor = helixManager.getHelixDataAccessor();
+  _clusterName = clusterName;
+  _instanceName = instanceName;
+}
+
+@Override
+public synchronized String getStatusDescription() {
+  return _statusDescription;
+}
+
+protected IdealState getResourceIdealState(String resourceName) {
+  return _helixAdmin.getResourceIdealState(_clusterName, resourceName);
+}
+
+protected List getResourcesInCluster() {
+  return _helixAdmin.getResourcesInCluster(_clusterName);
+}
+
+protected ExternalView getResourceExternalView(String resourceName) {
+  return _helixAdmin.getResourceExternalView(_clusterName, resourceName);
+}
+
+protected CurrentState getCurrentState(String resourceName) {
+  PropertyKey.Builder keyBuilder = _helixDataAccessor.keyBuilder();
+  LiveInstance liveInstance = 
_helixDataAccessor.getProperty(keyBuilder.liveInstance(_instanceName));
+  String sessionId = liveInstance.getSessionId();
+  return 
_helixDataAccessor.getProperty(keyBuilder.currentState(_instanceName, 
sessionId, resourceName));
+}
+  }
+
+  /**
+   * Service status callback that checks whether realtime consumption has 
caught up
+   * TODO: In this initial version, we are simply adding a configurable static 
wait time
+   * This can be made smarter:
+   * 1) Keep track of average consumption rate for table in server stats
+   * 2) Monitor consumption rate during startup, report GOOD when it 
stabilizes to average rate
+   * 3) Monitor consumption rate during startup, report GOOD if it is idle
+   */
+  public static class RealtimeConsumptionCatchupServiceStatusCallback extends 
BaseServiceStatusCallback {
+
+private final Map> _tableToConsumingSegmentsMap;
+private long _endWaitTime = 0;
+
+/**
+ * Realtime consumption catchup service which adds a static wait time for
+ */
+public RealtimeConsumptionCatchupServiceStatusCallback(HelixManager 
helixManager, String clusterName, String instanceName,
+long realtimeConsumptionCatchupWaitTimeSeconds) {
+  super(helixManager, clusterName, instanceName);
+
+  _tableToConsumingSegmentsMap = new HashMap<>();
+  for (String resourceName : getResourcesInCluster()) {
+if (TableNameBuilder.isRealtimeTableResource(resourceName)) {
+
+  IdealState idealState = getResourceIdealState(resourceName);
+  if (idealState.isEnabled()) {
+List consumingSegments = new ArrayList<>();
+for (String segmentName : idealState.getPartitionSet()) {
+  Map instanceStateMap = 
idealState.getInstanceStateMap(segmentName);
+  if 
(CommonConstants.Helix.StateModel.RealtimeSegmentOnlineOfflineStateModel.CONSUMING.equals(
+  instanceStateMap.get(instanceName))) {
+consumingSegments.add(segmentName);
+  }
+}
+if (!consumingSegments.isEmpty()) {
+  _tableToConsumingSegmentsMap.put(resourceName, 
consumingSegments);
+}
+  }
+}
+  }
+
+  if (_tableToConsumingSegmentsMap.isEmpty()) {
+LOGGER.info(
+"No consuming segments to monitor on instance. Setting realtime 
consumption catchup wait time to 0ms");
+  } else {
+long startTime = System.currentTimeMillis();
+_endWaitTime = startTime + 
TimeUnit.SECONDS.toMillis(realtimeConsumptionCatchupWaitTimeSeconds);
+LOGGER.info("Monitoring realtime consumption catchup for tables:{}. 
Will wait for time:{} ms",
+_tableToConsumingSegmentsMap.keySet(), 
realtimeConsumptionCatchupWaitTimeSeconds);
+  }
+}
+
+@Override
+public Status getServiceStatus() {
+  long now = System.currentTimeMillis();
 
 Review comment:
   Worked on all suggestions


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.
 
For queries about this 

[incubator-pinot] branch create-lead-controller-resource updated (22dad4f -> 46f2275)

2019-05-20 Thread jlli
This is an automated email from the ASF dual-hosted git repository.

jlli pushed a change to branch create-lead-controller-resource
in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.


omit 22dad4f  Create leadControllerResource in Helix cluster
 add a9a075c  [TE] Expose last exception when early terminate (#4178)
 add 1df6fb7  [TE] anomaly detector interface change and implementation for 
rule-based detection (#4176)
 add b4c9bdc  Pin down Pinot version to 0.1.0; enables you to build 
thirdeye without building pinot (#4179)
 add e5029b6  Minor improvements as encountered while studying replica 
groups (#4180)
 add 0680437  Refactor HelixExternalViewBasedTimeBoundaryService to support 
all time units (#4156)
 add ac19af7  Clean up unused variable in ControllerLeadershipManager 
(#4181)
 add e1e54cf  Generate inverted index in purge task if it exists (#4182)
 add 04042c7  [TE] Use strict strategy in model mapper for spec class 
(#4185)
 add 5920969  Added service status logs to indicate more znode information 
(#4184)
 add db84cbb  [TE] Fix current value in HoltWinters baseline (#4186)
 add 84a34a2  Migration to log4j2 (#4139)
 add 0706138  [TE] fix mock data source (#4189)
 add 29b918f  Randomly choose segments that need to be moved (#4191)
 add d499ba1  [TE] pass predicted time series thought out the detection 
pipeline (#4190)
 add 578f42e  In DataTypeTransformer, support filling in default null value 
for empty array input (#4196)
 add 18d628b  Track "freshness" timestamp across consuming segments (#3979)
 add 1ac071f  [TE] Update anomaly merge logic (#4201)
 add 74ddc3a  [TE] Threshold filter on current value of an anomaly (#4203)
 add e279dc9  [TE] Evaluation metrics calculation & store (#4202)
 add ca0b5b8  Commment out deleteTaskQueue in Test 
testStopAndResumeTaskQueue (#4207)
 add 40df151  Creation/deletion flow for replica groups sets in realtime 
(#4193)
 add 3cca15f  Add integration test for BrokerResourceValidationManager 
(#4096)
 add 3e6733f  Add SimpleAvroMessageDecoder which allows passing in Avro 
schema directly (#4197)
 add f50e87f  [TE] Model evaluator interface & Implementation (#4209)
 add aed4b56  Minor fix for star-tree creation logs (#4215)
 add c8d68ae  [TE] Grouper Interface - Group/Summarize Metric level 
anomalies (#4212)
 add f9df139  [TE] frontend - harleyjj/create-alert - break yaml editor 
into two components (#4206)
 add 45c59f6  [TE] frontend - harleyjj/screenshot - update screenshot route 
to match new Anomalies route (#4194)
 add d2087b3  [TE] pinot - harleyjj/screenshot - update configs for new 
screenshot (#4195)
 add 46f2275  Create leadControllerResource in Helix cluster

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (22dad4f)
\
 N -- N -- N   refs/heads/create-lead-controller-resource (46f2275)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 pinot-api/pom.xml  |   4 -
 pinot-api/src/test/resources/log4j.properties  |   6 -
 pinot-api/src/test/resources/log4j2.xml|  35 +++
 .../requesthandler/BaseBrokerRequestHandler.java   |   5 +-
 .../HelixExternalViewBasedTimeBoundaryService.java | 118 +
 .../broker/routing/RoutingTableBuilderFactory.java |   2 +-
 .../pinot/broker/routing/TimeBoundaryService.java  |  15 +-
 .../builder/GeneratorBasedRoutingTableBuilder.java |  22 +-
 .../PartitionAwareOfflineRoutingTableBuilder.java  |   9 +-
 .../broker/broker/HelixBrokerStarterTest.java  |   7 +-
 ...ixExternalViewBasedTimeBoundaryServiceTest.java | 166 
 .../broker/routing/TimeBoundaryServiceTest.java| 130 -
 pinot-broker/src/test/resources/log4j.properties   |   6 -
 pinot-broker/src/test/resources/log4j2.xml |  35 +++
 pinot-common/pom.xml   |  12 +-
 .../org/apache/pinot/common/data/FieldSpec.java|  26 +-
 .../apache/pinot/common/metadata/RowMetadata.java  |  30 +--
 .../pinot/common/metadata/ZKMetadataProvider.java  |  13 +-
 .../common/partition/PartitionAssignment.java  |   4 +-
 .../partition/ReplicaGroupPartitionAssignment.java |   4 +-
 .../ReplicaGroupPartitionAssignmentGenerator.java  |   8 +-
 .../response/broker/BrokerResponseNative.java  |  27 +-
 

[GitHub] [incubator-pinot] jihaozh merged pull request #4195: [TE] pinot - harleyjj/screenshot - update configs for new screenshot

2019-05-20 Thread GitBox
jihaozh merged pull request #4195: [TE] pinot - harleyjj/screenshot - update 
configs for new screenshot
URL: https://github.com/apache/incubator-pinot/pull/4195
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch master updated: [TE] pinot - harleyjj/screenshot - update configs for new screenshot (#4195)

2019-05-20 Thread jihao
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new d2087b3  [TE] pinot - harleyjj/screenshot - update configs for new 
screenshot (#4195)
d2087b3 is described below

commit d2087b365859c215a55900a47b3f9a9355808157
Author: Harley Jackson 
AuthorDate: Mon May 20 10:19:07 2019 -0700

[TE] pinot - harleyjj/screenshot - update configs for new screenshot (#4195)
---
 .../thirdeye-pinot/src/main/resources/scripts/getGraphPnj.js   | 10 +-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/thirdeye/thirdeye-pinot/src/main/resources/scripts/getGraphPnj.js 
b/thirdeye/thirdeye-pinot/src/main/resources/scripts/getGraphPnj.js
index edd8f52..644ee0e 100644
--- a/thirdeye/thirdeye-pinot/src/main/resources/scripts/getGraphPnj.js
+++ b/thirdeye/thirdeye-pinot/src/main/resources/scripts/getGraphPnj.js
@@ -11,6 +11,9 @@ var options = {
   output: args[2],
   width: args[3],
   height: args[4],
+  cookieName: args[5],
+  cookieValue: args[6],
+  domain: args[7]
 };
 
 page.viewportSize = {
@@ -21,6 +24,11 @@ page.settings.resourceTimeout = 18;
 page.onResourceTimeout = function(error) {
   phantom.exit(1);
 };
+page.addCookie({
+  'name'   : options.cookieName,
+  'value'  : options.cookieValue,
+  'domain' : options.domain
+});
 var requestsArray = [];
 
 
@@ -62,7 +70,7 @@ page.onLoadFinished = function(status) {
 
   clearInterval(interval);
 var clipRect = page.evaluate(function () {
-  return 
document.querySelector('#anomaly-screenshot').getBoundingClientRect();
+  return 
document.querySelector('.timeseries-chart').getBoundingClientRect();
 });
 page.clipRect = {
   top:clipRect.top,


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



[incubator-pinot] branch master updated: [TE] frontend - harleyjj/screenshot - update screenshot route to match new Anomalies route (#4194)

2019-05-20 Thread jihao
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 45c59f6  [TE] frontend - harleyjj/screenshot - update screenshot route 
to match new Anomalies route (#4194)
45c59f6 is described below

commit 45c59f618c7feea0e50eeb579d604c21404b83b7
Author: Harley Jackson 
AuthorDate: Mon May 20 10:18:39 2019 -0700

[TE] frontend - harleyjj/screenshot - update screenshot route to match new 
Anomalies route (#4194)

Please note that the file 
thirdeye/thirdeye-pinot/src/main/resources/scripts/getGraphPnj.js must be 
updated for the screenshot to function with the upgrades in this PR. 
getGraphPnj.js updates will be in a separate pull request

Updates screenshot graph to new format consistent with the rest of Thirdeye
Updates comments in Anomaly Summary component
---
 .../pods/components/anomaly-summary/component.js   |   8 +-
 .../pods/components/timeseries-chart/component.js  |  21 ++-
 .../app/pods/screenshot/controller.js  | 191 +
 .../thirdeye-frontend/app/pods/screenshot/route.js |  30 +++-
 .../app/pods/screenshot/template.hbs   |  20 +--
 5 files changed, 176 insertions(+), 94 deletions(-)

diff --git 
a/thirdeye/thirdeye-frontend/app/pods/components/anomaly-summary/component.js 
b/thirdeye/thirdeye-frontend/app/pods/components/anomaly-summary/component.js
index 6e90868..2d1e7eb 100644
--- 
a/thirdeye/thirdeye-frontend/app/pods/components/anomaly-summary/component.js
+++ 
b/thirdeye/thirdeye-frontend/app/pods/components/anomaly-summary/component.js
@@ -25,7 +25,7 @@ import columns from 
'thirdeye-frontend/shared/anomaliesTableColumns';
 import moment from 'moment';
 import _ from 'lodash';
 
-const TABLE_DATE_FORMAT = 'MMM DD, hh:mm A'; // format for anomaly table
+const TABLE_DATE_FORMAT = 'MMM DD, hh:mm A'; // format for anomaly table and 
legend
 
 export default Component.extend({
   /**
@@ -45,15 +45,15 @@ export default Component.extend({
*/
   anomalyData: {},
   /**
-   * Anomaly data, fetched using the anomalyId
+   * current time series
*/
   current: null,
   /**
-   * Anomaly data, fetched using the anomalyId
+   * predicted time series
*/
   predicted: null,
   /**
-   * List of associated classes
+   * imported color mapping for graph
*/
   colorMapping: colorMapping,
   zoom: {
diff --git 
a/thirdeye/thirdeye-frontend/app/pods/components/timeseries-chart/component.js 
b/thirdeye/thirdeye-frontend/app/pods/components/timeseries-chart/component.js
index 92d014c..dacb827 100644
--- 
a/thirdeye/thirdeye-frontend/app/pods/components/timeseries-chart/component.js
+++ 
b/thirdeye/thirdeye-frontend/app/pods/components/timeseries-chart/component.js
@@ -1,4 +1,4 @@
-import { debounce } from '@ember/runloop';
+import { debounce, later } from '@ember/runloop';
 import Component from '@ember/component';
 import c3 from 'c3';
 import d3 from 'd3';
@@ -210,6 +210,25 @@ export default Component.extend({
 }
   },
 
+  didRender(){
+this._super(...arguments);
+
+later(() => {
+  this.notifyPhantomJS();
+});
+  },
+
+  /**
+   * Checks if the page is being viewed from phantomJS
+   * and notifies it that the page is rendered and ready
+   * for a screenshot
+   */
+  notifyPhantomJS() {
+if (typeof window.callPhantom === 'function') {
+  window.callPhantom({message: 'ready'});
+}
+  },
+
   didInsertElement() {
 this._super(...arguments);
 
diff --git a/thirdeye/thirdeye-frontend/app/pods/screenshot/controller.js 
b/thirdeye/thirdeye-frontend/app/pods/screenshot/controller.js
index 2a19853..0072ad4 100644
--- a/thirdeye/thirdeye-frontend/app/pods/screenshot/controller.js
+++ b/thirdeye/thirdeye-frontend/app/pods/screenshot/controller.js
@@ -1,93 +1,136 @@
-import { alias } from '@ember/object/computed';
-import { computed } from '@ember/object';
+import { colorMapping, makeTime } from 'thirdeye-frontend/utils/rca-utils';
+import {
+  get,
+  computed,
+  getProperties
+} from '@ember/object';
 import Controller from '@ember/controller';
+import { humanizeFloat } from 'thirdeye-frontend/utils/utils';
 import moment from 'moment';
+import _ from 'lodash';
 
-export default Controller.extend({
-  // Default Legend text and color
-  legendText: {
-dotted: {
-  text: 'Expected',
-  color: 'orange'
-},
-solid: {
-  text: 'Current',
-  color: 'blue'
-}
-  },
+const TABLE_DATE_FORMAT = 'MMM DD, hh:mm A'; // format for anomaly table and 
legend
 
+export default Controller.extend({
   /**
-   * Padding to be added to the graph
+   * Anomaly data, fetched using the anomalyId
*/
-  screenshotPadding: {
-left: 50,
-right: 100
-  },
+  anomalyData: {},
+  /**
+   * current time series
+   */
+  current: null,
+  /**
+   * predicted time series
+   */
+  predicted: 

[GitHub] [incubator-pinot] jihaozh merged pull request #4194: [TE] frontend - harleyjj/screenshot - update screenshot route to matc…

2019-05-20 Thread GitBox
jihaozh merged pull request #4194: [TE] frontend - harleyjj/screenshot - update 
screenshot route to matc…
URL: https://github.com/apache/incubator-pinot/pull/4194
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch master updated: [TE] frontend - harleyjj/create-alert - break yaml editor into two components (#4206)

2019-05-20 Thread jihao
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new f9df139  [TE] frontend - harleyjj/create-alert - break yaml editor 
into two components (#4206)
f9df139 is described below

commit f9df1393c3e962b3ce5bcaf839f43ddb713492a3
Author: Harley Jackson 
AuthorDate: Mon May 20 10:18:00 2019 -0700

[TE] frontend - harleyjj/create-alert - break yaml editor into two 
components (#4206)

breaks yaml-editor into two separate components: detection-yaml and 
subscription-yaml
Installs new components on create-alert
Moves preview directly onto create-alert and migrates shared props to 
controller
These actions will help prepare the create-alert route for forms (full ui).
The next step is to install new components on edit alert.
---
 .../pods/components/detection-yaml/component.js| 291 +
 .../pods/components/detection-yaml/template.hbs|  58 
 .../pods/components/subscription-yaml/component.js | 264 +++
 .../pods/components/subscription-yaml/template.hbs |  67 +
 .../thirdeye-frontend/app/pods/home/index/route.js |   2 +-
 .../app/pods/home/share-dashboard/route.js |   2 +-
 .../app/pods/self-serve/create-alert/controller.js |  82 +-
 .../app/pods/self-serve/create-alert/route.js  |  14 +-
 .../app/pods/self-serve/create-alert/template.hbs  |  67 -
 .../app/pods/services/api/anomalies/service.js |   6 +-
 10 files changed, 825 insertions(+), 28 deletions(-)

diff --git 
a/thirdeye/thirdeye-frontend/app/pods/components/detection-yaml/component.js 
b/thirdeye/thirdeye-frontend/app/pods/components/detection-yaml/component.js
new file mode 100644
index 000..bf60125
--- /dev/null
+++ b/thirdeye/thirdeye-frontend/app/pods/components/detection-yaml/component.js
@@ -0,0 +1,291 @@
+/**
+ * Component to render the detection configuration yaml editor.
+ * @module components/detection-editor
+ * @property {Number} alertId - alertId needed in edit mode, to submit changes 
to alert config
+ * @property {boolean} isEditMode - to activate the edit mode
+ * @property {String} detectionYaml - the detection yaml
+ * @property {function} setDetectionYaml - updates the detectionYaml in parent
+ * @example
+   {{detection-yaml
+ alertId=model.alertId
+ isEditMode=true
+ detectionYaml=detectionYaml
+ setDetectionYaml=updateDetectionYaml
+   }}
+ * @authors lohuynh and hjackson
+ */
+
+import Component from '@ember/component';
+import {computed, set, get, getProperties, setProperties} from '@ember/object';
+import {checkStatus} from 'thirdeye-frontend/utils/utils';
+import {yamlAlertProps, toastOptions} from 'thirdeye-frontend/utils/constants';
+import yamljs from 'yamljs';
+import RSVP from "rsvp";
+import fetch from 'fetch';
+import {
+  selfServeApiGraph, selfServeApiCommon
+} from 'thirdeye-frontend/utils/api/self-serve';
+import {inject as service} from '@ember/service';
+import config from 'thirdeye-frontend/config/environment';
+
+export default Component.extend({
+  classNames: ['yaml-editor'],
+  notifications: service('toast'),
+  /**
+   * Properties we expect to receive for the yaml-editor
+   */
+  currentMetric: null,
+  isYamlParseable: true,
+  alertTitle: 'Define detection configuration',
+  isEditMode: false,
+  disableYamlSave: true,
+  detectionMsg: '',   //General alert failures
+  detectionYaml: null,// The YAML for the anomaly detection
+  currentYamlAlertOriginal: yamlAlertProps,
+  alertId: null, // only needed in edit mode
+  setDetectionYaml: null, // bubble up detectionYaml changes to parent
+
+
+
+  /**
+   * sets Yaml value displayed to contents of detectionYaml or 
currentYamlAlertOriginal
+   * @method currentYamlAlert
+   * @return {String}
+   */
+  currentYamlAlert: computed(
+'detectionYaml',
+function() {
+  const inputYaml = get(this, 'detectionYaml');
+  return inputYaml || get(this, 'currentYamlAlertOriginal');
+}
+  ),
+
+  isDetectionMsg: computed(
+'detectionMsg',
+function() {
+  const detectionMsg = get(this, 'detectionMsg');
+  return detectionMsg !== '';
+}
+  ),
+
+  /**
+   * Calls api's for specific metric's autocomplete
+   * @method _loadAutocompleteById
+   * @return Promise
+   */
+  _loadAutocompleteById(metricId) {
+const promiseHash = {
+  filters: fetch(selfServeApiGraph.metricFilters(metricId)).then(res => 
checkStatus(res, 'get', true)),
+  dimensions: fetch(selfServeApiGraph.metricDimensions(metricId)).then(res 
=> checkStatus(res, 'get', true))
+};
+return RSVP.hash(promiseHash);
+  },
+
+  /**
+   * Get autocomplete suggestions from relevant api
+   * @method _buildYamlSuggestions
+   * @return Promise
+   */
+  _buildYamlSuggestions(currentMetric, yamlAsObject, 

[GitHub] [incubator-pinot] jihaozh merged pull request #4206: [TE] frontend - harleyjj/create-alert - break yaml editor into two co…

2019-05-20 Thread GitBox
jihaozh merged pull request #4206: [TE] frontend - harleyjj/create-alert - 
break yaml editor into two co…
URL: https://github.com/apache/incubator-pinot/pull/4206
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] jackjlli commented on a change in pull request #4222: Add startup/shutdown checks for HelixServerStarter

2019-05-20 Thread GitBox
jackjlli commented on a change in pull request #4222: Add startup/shutdown 
checks for HelixServerStarter
URL: https://github.com/apache/incubator-pinot/pull/4222#discussion_r285690354
 
 

 ##
 File path: 
pinot-common/src/main/java/org/apache/pinot/common/utils/CommonConstants.java
 ##
 @@ -171,13 +171,8 @@ public ServerType getServerType() {
 public static final String CONFIG_OF_REQUEST_HANDLER_FACTORY_CLASS = 
"pinot.server.requestHandlerFactory.class";
 public static final String CONFIG_OF_NETTY_PORT = 
"pinot.server.netty.port";
 public static final String CONFIG_OF_ADMIN_API_PORT = 
"pinot.server.adminapi.port";
-public static final String CONFIG_OF_STARTER_ENABLE_SEGMENTS_LOADING_CHECK 
=
 
 Review comment:
   Can we log these configs as `deprecated` in the server log when startup to 
notify these configs have been deprecated? Otherwise, it'll be hard for open 
source to notice this changes.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[incubator-pinot] branch master updated: [TE] Grouper Interface - Group/Summarize Metric level anomalies (#4212)

2019-05-20 Thread akshayrai09
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new c8d68ae  [TE] Grouper Interface - Group/Summarize Metric level 
anomalies (#4212)
c8d68ae is described below

commit c8d68ae67599d1d35727c385385ae7383843c063
Author: Akshay Rai 
AuthorDate: Mon May 20 10:06:28 2019 -0700

[TE] Grouper Interface - Group/Summarize Metric level anomalies (#4212)

* Grouper interface takes a list of anomalies and returns a list of 
enriched metric level anomalies.
* Refer to MockGrouper class for a reference implementation
---
 .../detection/annotation/DetectionTag.java |   3 +-
 .../thirdeye/detection/spi/components/Grouper.java |   2 -
 .../thirdeye/detection/wrapper/GrouperWrapper.java |  99 ++
 .../yaml/CompositePipelineConfigTranslator.java|  40 +--
 .../thirdeye/detection/components/MockGrouper.java |  72 +
 .../detection/components/MockGrouperTest.java  |  97 +
 .../thirdeye/detection/spec/MockGrouperSpec.java   |  34 ++
 .../CompositePipelineConfigTranslatorTest.java |  12 ++-
 .../compositePipelineTranslatorTestResult-1.json   | 115 +
 .../thirdeye/detection/yaml/pipeline-config-1.yaml |   5 +
 .../thirdeye/detection/yaml/pipeline-config-3.yaml |  31 ++
 11 files changed, 457 insertions(+), 53 deletions(-)

diff --git 
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/annotation/DetectionTag.java
 
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/annotation/DetectionTag.java
index 1b2b6eb..c30120d 100644
--- 
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/annotation/DetectionTag.java
+++ 
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/annotation/DetectionTag.java
@@ -23,5 +23,6 @@ public enum DetectionTag {
   ALGORITHM_DETECTION,
   RULE_DETECTION,
   ALGORITHM_FILTER,
-  RULE_FILTER
+  RULE_FILTER,
+  GROUPER
 }
diff --git 
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Grouper.java
 
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Grouper.java
index 45c124a..e81ae79 100644
--- 
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Grouper.java
+++ 
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/spi/components/Grouper.java
@@ -21,8 +21,6 @@ package org.apache.pinot.thirdeye.detection.spi.components;
 
 import org.apache.pinot.thirdeye.datalayer.dto.MergedAnomalyResultDTO;
 import org.apache.pinot.thirdeye.detection.spec.AbstractSpec;
-import org.apache.pinot.thirdeye.detection.spi.model.InputData;
-import org.apache.pinot.thirdeye.detection.spi.model.InputDataSpec;
 import java.util.List;
 
 
diff --git 
a/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/wrapper/GrouperWrapper.java
 
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/wrapper/GrouperWrapper.java
new file mode 100644
index 000..64b1c87
--- /dev/null
+++ 
b/thirdeye/thirdeye-pinot/src/main/java/org/apache/pinot/thirdeye/detection/wrapper/GrouperWrapper.java
@@ -0,0 +1,99 @@
+/*
+ * 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.thirdeye.detection.wrapper;
+
+import com.google.common.base.Preconditions;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import org.apache.commons.collections.MapUtils;
+import org.apache.pinot.thirdeye.datalayer.dto.DetectionConfigDTO;
+import org.apache.pinot.thirdeye.datalayer.dto.MergedAnomalyResultDTO;
+import org.apache.pinot.thirdeye.detection.ConfigUtils;
+import org.apache.pinot.thirdeye.detection.DataProvider;
+import org.apache.pinot.thirdeye.detection.DetectionPipeline;
+import org.apache.pinot.thirdeye.detection.DetectionPipelineResult;
+import org.apache.pinot.thirdeye.detection.DetectionUtils;
+import 

[GitHub] [incubator-pinot] akshayrai merged pull request #4212: [TE] Grouper Interface - Group/Summarize Metric level anomalies

2019-05-20 Thread GitBox
akshayrai merged pull request #4212: [TE] Grouper Interface - Group/Summarize 
Metric level anomalies
URL: https://github.com/apache/incubator-pinot/pull/4212
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] katewang0710 commented on issue #4133: add more types parsing for string coerceValueIntoField

2019-05-20 Thread GitBox
katewang0710 commented on issue #4133:  add more types parsing for string 
coerceValueIntoField
URL: https://github.com/apache/incubator-pinot/pull/4133#issuecomment-494039960
 
 
   @kishoreg @Jackie-Jiang Looks like all the tests have passed. Can we merge 
this change? If anything needs to change please let me know.
   
   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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] ananthdurai commented on issue #3998: Upgrade to use Kafka release 2.1.1

2019-05-20 Thread GitBox
ananthdurai commented on issue #3998: Upgrade to use  Kafka release 2.1.1
URL: 
https://github.com/apache/incubator-pinot/issues/3998#issuecomment-493858043
 
 
    Hi, any update on the Kafka 2.X support? We are running a different 
version of Kafka to maintain Pinot, would like to move along with the rest of 
the infrastructure.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] ananthdurai closed issue #4223: Support Kafka 2.x consumers

2019-05-20 Thread GitBox
ananthdurai closed issue #4223: Support Kafka 2.x consumers
URL: https://github.com/apache/incubator-pinot/issues/4223
 
 
   


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] ananthdurai commented on issue #4223: Support Kafka 2.x consumers

2019-05-20 Thread GitBox
ananthdurai commented on issue #4223: Support Kafka 2.x consumers
URL: 
https://github.com/apache/incubator-pinot/issues/4223#issuecomment-493857725
 
 
   Closing the issue as found it is a duplicate of 
https://github.com/apache/incubator-pinot/issues/3998


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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



[GitHub] [incubator-pinot] ananthdurai opened a new issue #4223: Support Kafka 2.x consumers

2019-05-20 Thread GitBox
ananthdurai opened a new issue #4223: Support Kafka 2.x consumers
URL: https://github.com/apache/incubator-pinot/issues/4223
 
 
   Pinot is dependent on Kafka 0.9 Kafka protocol, which far behind the latest 
version. Pluggable support for adopting different Kafka version will help to 
upgrade/ contribute Pinot with the rest of the infrastructure.


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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

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