Andrew Wong has posted comments on this change. ( http://gerrit.cloudera.org:8080/15758 )
Change subject: [partitioning] KUDU-2671 [part 1] Support for different hash partitioning per range partition. ...................................................................... Patch Set 7: (7 comments) http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition-test.cc File src/kudu/common/partition-test.cc: http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition-test.cc@877 PS7, Line 877: vector<PartitionSchema::HashBucketSchema> hash_buckets1; : hash_buckets1.emplace_back(PartitionSchema::HashBucketSchema{{ColumnId(0)}, 2, 0}); : vector<PartitionSchema::HashBucketSchema> hash_buckets2; : hash_buckets2.emplace_back(PartitionSchema::HashBucketSchema{{ColumnId(0)}, 3, 0}); : boost::optional<PartitionSchema::RangeHashBuckets> range_hash_buckets = { Could you also add a test that this works if these have more than one element? http://gerrit.cloudera.org:8080/#/c/15758/3/src/kudu/common/partition.h File src/kudu/common/partition.h: http://gerrit.cloudera.org:8080/#/c/15758/3/src/kudu/common/partition.h@178 PS3, Line 178: const boost::optional<RangeHashBuckets>& ra > nit: should also mention in the comment how this is expected to be used, an Missed this? http://gerrit.cloudera.org:8080/#/c/15758/3/src/kudu/common/partition.cc File src/kudu/common/partition.cc: http://gerrit.cloudera.org:8080/#/c/15758/3/src/kudu/common/partition.cc@368 PS3, Line 368: > Done Ack http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition.cc File src/kudu/common/partition.cc: http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition.cc@357 PS7, Line 357: const RangeBounds& range_bounds, : const boost::optional<RangeHashBuckets>& range_hash_buckets, : const Schema& schema, : vector<Partition>* partitions) const { nit: fix spacing http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition.cc@369 PS7, Line 369: // Step 1 nit: drop this if there's no step 2? http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition.cc@411 PS7, Line 411: // range_hash_buckets.szie() == bounds.size() nit: you could consider bringing that DCHECK from L363 down here with a DCHECK_EQ() http://gerrit.cloudera.org:8080/#/c/15758/7/src/kudu/common/partition.cc@432 PS7, Line 432: all_hash_partitions.swap(new_partitions); Maybe i'm missing something, but I don't think this addresses my concern from revision 3. For instance, if we had 5 hash schemas in a single range, and each hash schema had 3 buckets, rather than ending up with 15 partitions, we'd end up with (3 + 9 + 27 + 81 + 243) partitions. -- To view, visit http://gerrit.cloudera.org:8080/15758 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ie843f37392240c3a47a589658d9702c2049ee011 Gerrit-Change-Number: 15758 Gerrit-PatchSet: 7 Gerrit-Owner: Volodymyr Verovkin <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Grant Henke <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Tidy Bot (241) Gerrit-Reviewer: Volodymyr Verovkin <[email protected]> Gerrit-Comment-Date: Tue, 28 Apr 2020 00:23:42 +0000 Gerrit-HasComments: Yes
