Tim Armstrong has uploaded a new patch set (#2). Change subject: IMPALA-3317: fix crash in sorter when spilling zero-length strings ......................................................................
IMPALA-3317: fix crash in sorter when spilling zero-length strings The sorter converts string pointers to block offsets when spilling. There was a subtle bug in the logic that assumed if the offset was past the end of the current block, the data must necessarily be in the next block. This is not true for zero-length strings, because there is no backing storage so the pointer can point to the byte after the end of the block. This patch fixes the bug by using a simpler offset encoding scheme that packs the block number into the upper 32 bits and the offset within the block into the lower 32 bits. It also slightly refactors the functions so that the method signatures and types are more consistent with the rest of the impala codebase. Also fix a bug with handling of multiple query options in tests. Change-Id: I5f64593e94d367d6b6efb61a8b86e35516f18839 --- M be/src/runtime/sorter.cc A testdata/workloads/functional-query/queries/QueryTest/single-node-large-sorts.test M tests/common/impala_test_suite.py M tests/query_test/test_queries.py 4 files changed, 78 insertions(+), 29 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/80/2780/2 -- To view, visit http://gerrit.cloudera.org:8080/2780 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5f64593e94d367d6b6efb61a8b86e35516f18839 Gerrit-PatchSet: 2 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Matthew Jacobs <[email protected]> Gerrit-Reviewer: Michael Ho <[email protected]>
