[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Dan Burkert has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 3: (6 comments) http://gerrit.cloudera.org:8080/#/c/4299/3/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java File java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java: Line 311:* Not for public consumption: use either predicates or primary key bounds instead. > given it's package-private, do you need this comment? Done Line 325:* Not for public consumption: use either predicates or primary key bounds instead. > same Done http://gerrit.cloudera.org:8080/#/c/4299/3/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java File java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java: Line 197: if (len > 1) { > is this 'if' really necessary? seems like if len <= 1, the len - 2 would be Done http://gerrit.cloudera.org:8080/#/c/4299/3/java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java File java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java: PS3, Line 171: // The range component is constrained. : constrainedIndex = hashBuckets.size(); > not 100% following here, can you explain further? Done http://gerrit.cloudera.org:8080/#/c/4299/3/java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java File java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java: Line 116: public void reserve(int additional) { > I find it surprising that 'reserve' here is reserving _additional_ bytes, v Done http://gerrit.cloudera.org:8080/#/c/4299/3/java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java File java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java: PS3, Line 97: for (Partition partition : partitions) { : if (!pruner.shouldPrune(partition)) scannedPartitions++; : } > do we expect loops like this in real life? this seems o(n^2). Should we off This is true, but currently shouldPrune is only called in these tests. -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Adar Dembo has submitted this change and it was merged. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. KUDU-1065: [java client] Flexible Partition Pruning This commit introduces an internal utility ByteVec class which is a mashup of the C++ std::string / Rust Vec types. KeyEncoder has been transitioned to use this type instead of ByteArrayOutputStream. The partition pruning algorithm incrementally builds up partition keys from predicates, and requires cloning the keys as they are being built in order to multiply over hash partition buckets. ByteArrayOutputStream doesn't have a clone method. ByteArrayOutputStream is also synchronized internally, which is dumb. Thus begat ByteVec. This version of partition pruning only looks at predicates when determining which partitions to prune. Constraints in the primary key bounds are not considered, unless the table is range partitioned over the primary key columns and not hash partitioned (simple partitioning). This limits the pruned partitions in some pretty rare cases, but the workaround of explicitly setting the predicate is not too onerous. Finally, this commit changes the default test flags to remove mini cluster verbose logging, since it is extremely noisy. Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Reviewed-on: http://gerrit.cloudera.org:8080/4299 Tested-by: Kudu Jenkins Reviewed-by: Adar Dembo--- M java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java A java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartitionSchema.java A java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java A java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java A java/kudu-client/src/test/java/org/apache/kudu/util/TestByteVec.java M java/kudu-client/src/test/resources/flags M src/kudu/common/partition_pruner-test.cc 17 files changed, 1,722 insertions(+), 198 deletions(-) Approvals: Adar Dembo: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan Burkert Gerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Adar Dembo has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 3: Code-Review+2 -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Dan Burkert has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/4299/2/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java File java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java: Line 48: import java.util.concurrent.atomic.AtomicBoolean; > Now unused? Done -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4299 to look at the new patch set (#3). Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. KUDU-1065: [java client] Flexible Partition Pruning This commit introduces an internal utility ByteVec class which is a mashup of the C++ std::string / Rust Vec types. KeyEncoder has been transitioned to use this type instead of ByteArrayOutputStream. The partition pruning algorithm incrementally builds up partition keys from predicates, and requires cloning the keys as they are being built in order to multiply over hash partition buckets. ByteArrayOutputStream doesn't have a clone method. ByteArrayOutputStream is also synchronized internally, which is dumb. Thus begat ByteVec. This version of partition pruning only looks at predicates when determining which partitions to prune. Constraints in the primary key bounds are not considered, unless the table is range partitioned over the primary key columns and not hash partitioned (simple partitioning). This limits the pruned partitions in some pretty rare cases, but the workaround of explicitly setting the predicate is not too onerous. Finally, this commit changes the default test flags to remove mini cluster verbose logging, since it is extremely noisy. Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java A java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartitionSchema.java A java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java A java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java A java/kudu-client/src/test/java/org/apache/kudu/util/TestByteVec.java M java/kudu-client/src/test/resources/flags M src/kudu/common/partition_pruner-test.cc 17 files changed, 1,722 insertions(+), 198 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/99/4299/3 -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 3 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Adar Dembo has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 2: (1 comment) http://gerrit.cloudera.org:8080/#/c/4299/2/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java File java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java: Line 48: import java.util.concurrent.atomic.AtomicBoolean; Now unused? -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: Yes
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Kudu Jenkins has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 2: Build Started http://104.196.14.100/job/kudu-gerrit/3258/ -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Dan Burkert Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Dan Burkert has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 1: (32 comments) http://gerrit.cloudera.org:8080/#/c/4299/1/java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java File java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java: Line 311:* Not for public consumption: use either predicates or primary key bounds instead. > If Impala is no longer using these two, should we just remove them? I tried that, but they are used internally. I did move them from public to package private, so they shouldn't be accessible. http://gerrit.cloudera.org:8080/#/c/4299/1/java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java File java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java: Line 142: /** The partition pruner */ > Not a useful comment, just drop it. Done PS1, Line 260: if (!table.getPartitionSchema().isSimpleRangePartitioning() && : (startPrimaryKey.length != 0 || : endPrimaryKey.length != 0) && : PARTITION_PRUNE_WARN.getAndSet(false)) { : LOG.warn("Starting full table scan. " + :"In the future this scan may be automatically optimized with partition pruning."); > Is this still relevant? Nope! http://gerrit.cloudera.org:8080/#/c/4299/1/java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java File java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java: Line 348 > This is still a parameter though. Done Line 31: import java.io.ByteArrayOutputStream; > Not used anymore? Done Line 45: private final ByteVec buf = ByteVec.create(); > Not really seeing the point of this class member given that the first thing I agree, I was just trying to preserve the existing structure of KeyEncoder. I'll switch it over to be a non-instantiable utility class. I don't think preserving ByteVec's is particularly important for performance, it should be a very shortlived object. In fact there are a lot of cases where a KeyEncoder was getting constructed just to call one of these methods once, so I think it will be a total wash. Line 63: public static int getHashBucket(PartialRow row, HashBucketSchema hashSchema) { > Javadoc? Done http://gerrit.cloudera.org:8080/#/c/4299/1/java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java File java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java: Line 328: List newTablets = table.getTabletsLocations( > Nit: List Done http://gerrit.cloudera.org:8080/#/c/4299/1/java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java File java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java: PS1, Line 292: { break; } > Nit: why the braces if the break is on the same line as the condition? Done PS1, Line 360: Step 1: > In this function there's only Step 1. Done Line 398: private static byte[] pushPredicatesIntoUpperBoundRangeKey(Schema schema, > I wonder if these push methods would be clearer if combined with a bool (or I don't disagree, but these are pretty straight translations of existing methods in the C++ side. I think keeping the methods in-sync is more important than anything, since this is some pretty dense code. They are different in pretty subtle ways. It is true that they are always called as a pair, though. Line 433: throw new IllegalArgumentException("unexpected predicate type can not be pushed into key"); > Nit: can you add the predicate as you did in pushPredicatesIntoLowerBoundRa Done http://gerrit.cloudera.org:8080/#/c/4299/1/java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java File java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java: PS1, Line 60: /** :* Creates a new vector. :* @return the new vector. :*/ : public static ByteVec create() { : return new ByteVec(DEFAULT_CAPACITY); : } : : /** :* Creates a new vector with the specified capacity. :* @param capacity the initial capacity of the vector :* @return a new vector with the specified capacity :*/ : public static ByteVec withCapacity(int capacity) { : return new ByteVec(capacity); : } : : /** :* Wrap an existing array with a vector. :* The array should not be modified after this call. :* @param data the initial data for the vector :* @return a vector wrapping the data :*/ : public static ByteVec wrap(byte[] data) { :
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit http://gerrit.cloudera.org:8080/4299 to look at the new patch set (#2). Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. KUDU-1065: [java client] Flexible Partition Pruning This commit introduces an internal utility ByteVec class which is a mashup of the C++ std::string / Rust Vec types. KeyEncoder has been transitioned to use this type instead of ByteArrayOutputStream. The partition pruning algorithm incrementally builds up partition keys from predicates, and requires cloning the keys as they are being built in order to multiply over hash partition buckets. ByteArrayOutputStream doesn't have a clone method. ByteArrayOutputStream is also synchronized internally, which is dumb. Thus begat ByteVec. This version of partition pruning only looks at predicates when determining which partitions to prune. Constraints in the primary key bounds are not considered, unless the table is range partitioned over the primary key columns and not hash partitioned (simple partitioning). This limits the pruned partitions in some pretty rare cases, but the workaround of explicitly setting the predicate is not too onerous. Finally, this commit changes the default test flags to remove mini cluster verbose logging, since it is extremely noisy. Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java A java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartitionSchema.java A java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java M java/kudu-client/src/test/java/org/apache/kudu/client/TestKeyEncoding.java A java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java A java/kudu-client/src/test/java/org/apache/kudu/util/TestByteVec.java M java/kudu-client/src/test/resources/flags M src/kudu/common/partition_pruner-test.cc 17 files changed, 1,722 insertions(+), 197 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/99/4299/2 -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 2 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Kudu Jenkins has posted comments on this change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. Patch Set 1: Build Started http://104.196.14.100/job/kudu-gerrit/3204/ -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon Gerrit-HasComments: No
[kudu-CR] KUDU-1065: [java client] Flexible Partition Pruning
Hello Adar Dembo, Todd Lipcon, I'd like you to do a code review. Please visit http://gerrit.cloudera.org:8080/4299 to review the following change. Change subject: KUDU-1065: [java client] Flexible Partition Pruning .. KUDU-1065: [java client] Flexible Partition Pruning This commit introduces an internal utility ByteVec class which is a mashup of the C++ std::string / Rust Vec types. KeyEncoder has been transitioned to use this type instead of ByteArrayOutputStream. The partition pruning algorithm incrementally builds up partition keys from predicates, and requires cloning the keys as they are being built in order to multiply over hash partition buckets. ByteArrayOutputStream doesn't have a clone method. ByteArrayOutputStream is also synchronized internally, which is dumb. Thus begat ByteVec. This version of partition pruning only looks at predicates when determining which partitions to prune. Constraints in the primary key bounds are not considered, unless the table is range partitioned over the primary key columns and not hash partitioned (simple partitioning). This limits the pruned partitions in some pretty rare cases, but the workaround of explicitly setting the predicate is not too onerous. Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 --- M java/kudu-client/src/main/java/org/apache/kudu/client/AbstractKuduScannerBuilder.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduClient.java M java/kudu-client/src/main/java/org/apache/kudu/client/AsyncKuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KeyEncoder.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduPredicate.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanToken.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduScanner.java M java/kudu-client/src/main/java/org/apache/kudu/client/KuduTable.java M java/kudu-client/src/main/java/org/apache/kudu/client/PartialRow.java A java/kudu-client/src/main/java/org/apache/kudu/client/PartitionPruner.java A java/kudu-client/src/main/java/org/apache/kudu/util/ByteVec.java A java/kudu-client/src/test/java/org/apache/kudu/client/TestPartitionPruner.java A java/kudu-client/src/test/java/org/apache/kudu/util/TestByteVec.java M java/kudu-client/src/test/resources/flags M src/kudu/common/partition_pruner-test.cc 15 files changed, 1,745 insertions(+), 177 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/99/4299/1 -- To view, visit http://gerrit.cloudera.org:8080/4299 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib27b54841d87cf854175ab8cdfa8798b337d71f9 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Dan BurkertGerrit-Reviewer: Adar Dembo Gerrit-Reviewer: Todd Lipcon