Adar Dembo has submitted this change and it was merged. ( 
http://gerrit.cloudera.org:8080/14537 )

Change subject: KUDU-2980: fix ORDERED scans when key columns are misordered in 
projection
......................................................................

KUDU-2980: fix ORDERED scans when key columns are misordered in projection

This patch fixes KUDU-2980 by taking a stricter approach to how key columns
appear in ORDERED scan projections. Any key columns already in the
client-provided projection are completely ignored. Instead, when we rebuild
the projection server-side, the first section (i.e. the part with the key
columns) is built using the tablet's schema. After that, we incorporate any
remaining columns from the client-provided projection, dropping any key
columns. Finally, we add any columns necessary to satisfy predicates.

The new fuzz test reproduces the bug very easily, and is expansive enough to
provide additional coverage for funky projection and predicate ordering. I
looped it 1000 times in dist-test without failure.

Change-Id: Idb213f466c7d01b6953a863d8aa53a34b5ac8893
Reviewed-on: http://gerrit.cloudera.org:8080/14503
Tested-by: Kudu Jenkins
Reviewed-by: Andrew Wong <[email protected]>
(cherry picked from commit e23e52a1b2040f12361824fde5334b46c879b142)
Reviewed-on: http://gerrit.cloudera.org:8080/14537
Reviewed-by: Alexey Serbin <[email protected]>
Tested-by: Adar Dembo <[email protected]>
---
M src/kudu/client/client-test.cc
M src/kudu/common/generic_iterators.cc
M src/kudu/common/partial_row.h
M src/kudu/integration-tests/data_gen_util.cc
M src/kudu/integration-tests/data_gen_util.h
M src/kudu/tserver/tablet_service.cc
M src/kudu/util/random_util.h
7 files changed, 195 insertions(+), 32 deletions(-)

Approvals:
  Alexey Serbin: Looks good to me, approved
  Adar Dembo: Verified

--
To view, visit http://gerrit.cloudera.org:8080/14537
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: branch-1.11.x
Gerrit-MessageType: merged
Gerrit-Change-Id: Idb213f466c7d01b6953a863d8aa53a34b5ac8893
Gerrit-Change-Number: 14537
Gerrit-PatchSet: 2
Gerrit-Owner: Adar Dembo <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>

Reply via email to