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

Reply via email to