Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/18672 )
Change subject: KUDU-2671 introduce PartitionPruner::PrepareRangeSet() ...................................................................... KUDU-2671 introduce PartitionPruner::PrepareRangeSet() Since PartitionSchema now provides and persists information only on ranges with custom hash schemas [1], but PartitionPruner::Init()'s logic assumed receiving information on all the existing ranges in case of tables with range-specific hash schemas, it needed an update. This patch does exactly so, adding a new PrepareRangeSet() method into the PartitionPruner class. The new method produces the preliminary set of scanner ranges with proper hash schemas per each range using the information on the table-wide hash schema and range-specific hash schemas provided. It splits the predicate-based range into sub-ranges and assigns corresponding hash schemas to them. In essence, the hash schemas for the ranges with custom hash schemas are known, and the rest of the sub-ranges have the table-wide hash schema. This patch also contains unit test for the newly introduced method. I updated TestHashSchemasPerRangeWithPartialPrimaryKeyRangePruning and TestInListHashPruningPerRange scenarios of the PartitionPrunerTest accordingly since now the number of initial ranges for pruning changed even if the number of non-pruned ranges to scan stayed the same. This is a follow-up to [1]. [1] https://gerrit.cloudera.org/#/c/18642/ Change-Id: I7f1903a444d47d30bbd7e119977cbb87bf1aa458 Reviewed-on: http://gerrit.cloudera.org:8080/18672 Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Attila Bukor <[email protected]> --- M src/kudu/common/partition.cc M src/kudu/common/partition.h M src/kudu/common/partition_pruner-test.cc M src/kudu/common/partition_pruner.cc M src/kudu/common/partition_pruner.h 5 files changed, 765 insertions(+), 57 deletions(-) Approvals: Alexey Serbin: Verified Attila Bukor: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/18672 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I7f1903a444d47d30bbd7e119977cbb87bf1aa458 Gerrit-Change-Number: 18672 Gerrit-PatchSet: 8 Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Attila Bukor <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120) Gerrit-Reviewer: Mahesh Reddy <[email protected]>
