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]>

Reply via email to