Mahesh Reddy has posted comments on this change. ( http://gerrit.cloudera.org:8080/16859 )
Change subject: [master] Range specific hashing at table creation time. ...................................................................... Patch Set 1: (7 comments) http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/common/partition.h File src/kudu/common/partition.h: http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/common/partition.h@167 PS1, Line 167: FromPBHelper > For a public function it should be named that suggests what's actually bein Ack http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/common/partition.cc File src/kudu/common/partition.cc: http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/common/partition.cc@172 PS1, Line 172: hash_bucket > std::move(hash_bucket) Ack http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/common/partition.cc@451 PS1, Line 451: DCHECK_EQ(range_hash_schemas.size(), bounds_with_hash_schemas.size() - split_rows.size()); > I didn't understand this change. 'bounds_with_hash_schemas' is the resulting number of bounds after the bounds are split by split_rows. Example, if we have 3 bounds and 2 valid splits then 'bounds_with_hash_schemas' will have a size of 5. 'range_hash_schema' is only defined per each range within 'range_bounds'. A use case exists where a user defines both 'split_rows' and 'range_bounds' but 'range_hash_schema' is only populated with empty vectors to indicate that the table wide hash schema will be used per range. Of course, if 'range_hash_schema' is populated with anything but empty vectors with this current use case, a Status::InvalidArgument() would have been returned on Line 421. So if 3 bounds and 2 valid splits are defined, 'range_hash_schema' will only have a size of 3 since its size matches the number of ranges before they're split. Perhaps a more simple check would be 'DCHECK_EQ(range_hash_schemas.size(), range_bounds.size());' http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/integration-tests/table_locations-itest.cc File src/kudu/integration-tests/table_locations-itest.cc: http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/integration-tests/table_locations-itest.cc@205 PS1, Line 205: PartitionSchemaPB_HashBucketSchemaPB* > Nit: auto* Ack http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/master/catalog_manager.cc File src/kudu/master/catalog_manager.cc: http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/master/catalog_manager.cc@1716 PS1, Line 1716: PerRangeHashBucketSchemasPB > auto Ack http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/master/catalog_manager.cc@1722 PS1, Line 1722: hash_bucket_schemas > std::move(hash_bucket_schemas) Ack http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/master/master-test.cc File src/kudu/master/master-test.cc: http://gerrit.cloudera.org:8080/#/c/16859/1/src/kudu/master/master-test.cc@180 PS1, Line 180: const vector<vector<HashBucketSchema>>& range_hash_schema, > Nit: This arg can be the last one with a default value to avoid changing ex Ack -- To view, visit http://gerrit.cloudera.org:8080/16859 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I8f0dcbc3324f8f2d6e99b4d169fdf5c7f7dff95d Gerrit-Change-Number: 16859 Gerrit-PatchSet: 1 Gerrit-Owner: Mahesh Reddy <[email protected]> Gerrit-Reviewer: Bankim Bhavsar <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Mahesh Reddy <[email protected]> Gerrit-Comment-Date: Fri, 11 Dec 2020 20:27:47 +0000 Gerrit-HasComments: Yes
