You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@kudu.apache.org by "Mahesh Reddy (Code Review)" <ge...@cloudera.org> on 2020/10/24 01:01:05 UTC

[kudu-CR] WIP [partitioning] KUDU-2671: Support for range specific HashSchemas.

Hello Tidy Bot, Alexey Serbin, Kudu Jenkins, Andrew Wong, Grant Henke, Bankim Bhavsar, 

I'd like you to reexamine a change. Please visit

    http://gerrit.cloudera.org:8080/16596

to look at the new patch set (#3).

Change subject: WIP [partitioning] KUDU-2671: Support for range specific HashSchemas.
......................................................................

WIP [partitioning] KUDU-2671: Support for range specific HashSchemas.

This patch updates Partition::CreatePartitions() to support the ability to
add different hash schemas per each range. If no hash schema per range
is specified, the table wide hash schema is used. Currently, this only
works if no split_rows are specified.

Since split_rows only exists for backwards compatibility reasons, I'm
leaning towards not supporting this feature with split_rows. Returning
a message to the user stating to specify both upper and lower bounds
either at table creation or alteration time should suffice. Split_rows
is also more syntactically ambigious when specifying bounds.

Currently, RangeHashSchema holds the HashBucketSchemas for each range.
One of the future patches will update the client code to match a range
to its HashBucketSchemas. When the bounds get sorted, since the
HashBucketSchemas are matched to the proper bound, they will also get
sorted. This will guarantee us sorted order of the HashBucketSchemas in
relation to the bounds and validate the current deisgn of RangeHashSchema.

Inspiration from Vlad: https://gerrit.cloudera.org/c/15758/

Change-Id: I8725f4bd072a81b05b36dfc7df0c074c172b4ce8
---
M src/kudu/common/partition-test.cc
M src/kudu/common/partition.cc
M src/kudu/common/partition.h
M src/kudu/common/partition_pruner-test.cc
M src/kudu/integration-tests/ts_tablet_manager-itest.cc
M src/kudu/master/catalog_manager.cc
M src/kudu/master/sys_catalog.cc
M src/kudu/tablet/tablet-harness.h
M src/kudu/tserver/tablet_server-test.cc
9 files changed, 289 insertions(+), 55 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/96/16596/3
-- 
To view, visit http://gerrit.cloudera.org:8080/16596
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I8725f4bd072a81b05b36dfc7df0c074c172b4ce8
Gerrit-Change-Number: 16596
Gerrit-PatchSet: 3
Gerrit-Owner: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <as...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Bankim Bhavsar <ba...@cloudera.com>
Gerrit-Reviewer: Grant Henke <gr...@apache.org>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mr...@cloudera.com>
Gerrit-Reviewer: Tidy Bot (241)