Hello Mahesh Reddy, Kudu Jenkins, Andrew Wong,

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

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

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

Change subject: [client] KUDU-2671 custom hash buckets API for table creation
......................................................................

[client] KUDU-2671 custom hash buckets API for table creation

This patch introduces changes in the Kudu C++ client API to make it
possible to create a Kudu table with custom hash bucket schemas per
range partition.

This patch doesn't contain the rest of functionality required to make
range partitions with custom hash bucket schemas fully functional. This
is rather a patch focusing on the API side only.  The missing pieces will
be addressed in follow-up patches:

  * update PartitionSchema to properly encode range keys in case
    where range partitions with custom hash bucket schemas are present
    (i.e. update PartitionSchema::EncodeKeyImpl() correspondingly)

  * update the meta-cache to work with partition range keys built for
    tables containing range partitions with custom hash bucket schema

  * update other places in client code which are dependent on
    PartitionPruner doing proper processing of partition key ranges for
    tables containing range partitions with custom hash bucket schema

  * add checks at the server side to check that the columns used for
    custom hash bucket schemas are part of the primary key

  * add provisions to allow for plain (i.e. without any hash
    sub-partitioning) custom range partitions for tables with
    table-wide hash bucket schema

  * add end-to-end tests to verify the proper distribution of inserted
    rows among range partitions and among their hash buckets

I also added test coverage to verify the newly introduced functionality
up to some extent, namely making sure the appropriate number of tablets
is created for tables with custom hash bucket schemas per range, adding
TODOs where full end-to-end coverage isn't yet available due to missing
functionality outlined above.

Change-Id: I98fd9754db850dcdd00a00738f470673f42ac5b4
---
M src/kudu/client/CMakeLists.txt
M src/kudu/client/client-test.cc
M src/kudu/client/client.cc
M src/kudu/client/client.h
A src/kudu/client/flex_partitioning_client-test.cc
M src/kudu/client/meta_cache.cc
M src/kudu/client/partitioner-internal.cc
M src/kudu/client/table_creator-internal.cc
M src/kudu/client/table_creator-internal.h
M src/kudu/common/partition.cc
M src/kudu/master/master.proto
11 files changed, 694 insertions(+), 68 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/57/17657/7
--
To view, visit http://gerrit.cloudera.org:8080/17657
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I98fd9754db850dcdd00a00738f470673f42ac5b4
Gerrit-Change-Number: 17657
Gerrit-PatchSet: 7
Gerrit-Owner: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Alexey Serbin <aser...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <mre...@cloudera.com>

Reply via email to