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>