Mahesh Reddy has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/17643 )

Change subject: [pruning] KUDU-2671: Pruning compatible with custom hash 
schemas.
......................................................................


Patch Set 8:

(7 comments)

http://gerrit.cloudera.org:8080/#/c/17643/6/src/kudu/common/partition_pruner-test.cc
File src/kudu/common/partition_pruner-test.cc:

http://gerrit.cloudera.org:8080/#/c/17643/6/src/kudu/common/partition_pruner-test.cc@1490
PS6, Line 1490:   check({ ColumnPredicate::Equality(schema.column(1), &zero),
> Yeah, the idea is not to exercise the paths in the ScanSpec::CanShortCircui
Makes sense, I can incorporate this behavior in existing tests.


http://gerrit.cloudera.org:8080/#/c/17643/6/src/kudu/common/partition_pruner-test.cc@1491
PS6, Line 1491:           ColumnPredicate::InList(schema.column(2), &C_values) 
},
> My concern is how the new code works in case of having a single element in
Yep, as shown by TestHashSchemasPerRangePruning where the range schema only 
consists of a single element of the PK,  this works as intended. I added a test 
anyways that also tests the boundary cases as if the range partitions were 
created by split rows, but this test is probably redundant.


http://gerrit.cloudera.org:8080/#/c/17643/7/src/kudu/common/partition_pruner.h
File src/kudu/common/partition_pruner.h:

http://gerrit.cloudera.org:8080/#/c/17643/7/src/kudu/common/partition_pruner.h@46
PS7, Line 46:
> nit: can just be
Done


http://gerrit.cloudera.org:8080/#/c/17643/7/src/kudu/common/partition_pruner.h@47
PS7, Line 47:     std::string lower;
            :     std::string upper;
            :   };
            :
            :   str
> nit: we shouldn't need these -- we should be able to construct via
Have to explicitly use the struct's name, thanks for the pointer.


http://gerrit.cloudera.org:8080/#/c/17643/6/src/kudu/common/partition_pruner.h
File src/kudu/common/partition_pruner.h:

http://gerrit.cloudera.org:8080/#/c/17643/6/src/kudu/common/partition_pruner.h@48
PS6, Line 48: tring upp
> +1 for making RangeBoundsAndPartitionKeyRanges a struct.  I guess it's more
Ack


http://gerrit.cloudera.org:8080/#/c/17643/6/src/kudu/common/partition_pruner.h@71
PS6, Line 71:   // Returns whether there are more partition key ranges to scan.
            :   bool HasMorePartitionKeyRanges() const;
            :
            :   // Returns the inclusive lower bound partition key of the next 
tablet to scan.
            :   const std::string& N
> Yep, makes sense.  I guess we can update the behavior as needed if we find
Ack


http://gerrit.cloudera.org:8080/#/c/17643/7/src/kudu/common/partition_pruner.cc
File src/kudu/common/partition_pruner.cc:

http://gerrit.cloudera.org:8080/#/c/17643/7/src/kudu/common/partition_pruner.cc@533
PS7, Line 533: [range_bounds, partition_key_range]
> nit: FYI starting in C++17 you can use structured bindings, e.g.
Done



--
To view, visit http://gerrit.cloudera.org:8080/17643
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I05c37495430f61a2c6f6012c72251138aee465b7
Gerrit-Change-Number: 17643
Gerrit-PatchSet: 8
Gerrit-Owner: Mahesh Reddy <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Andrew Wong <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <[email protected]>
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Comment-Date: Tue, 03 Aug 2021 07:18:40 +0000
Gerrit-HasComments: Yes

Reply via email to