Adar Dembo has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/14503 )
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]> --- 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: Kudu Jenkins: Verified Andrew Wong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/14503 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: Idb213f466c7d01b6953a863d8aa53a34b5ac8893 Gerrit-Change-Number: 14503 Gerrit-PatchSet: 7 Gerrit-Owner: Adar Dembo <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Attila Bukor <[email protected]> Gerrit-Reviewer: Grant Henke <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120)
