Internal Jenkins has submitted this change and it was merged. Change subject: IMPALA-3732: handle string length overflow in avro files ......................................................................
IMPALA-3732: handle string length overflow in avro files Avro string lengths are encoded as 64-bit integers. Impala can only handle up to 32-bit integers, so we need to be careful about handling out-of-range integers. Negative integers were already handled by a previous patch, but if a positive 64-bit integer is truncated to a 32-bit integer, the result can be a negative length. This patch fixes CHAR/VARCHAR behaviour, where we can just truncate the string, and STRING, where we can't truncate the string, so must return an error. Testing: Added unit tests for STRING, CHAR, and VARCHAR that exercise the string overflow handling. Change-Id: If6541e7c68255bf599b26386a55057c93e62af51 Reviewed-on: http://gerrit.cloudera.org:8080/3383 Reviewed-by: Tim Armstrong <[email protected]> Tested-by: Internal Jenkins --- M be/src/exec/hdfs-avro-scanner-ir.cc M be/src/exec/hdfs-avro-scanner-test.cc M be/src/exec/hdfs-avro-scanner.cc M be/src/exec/hdfs-avro-scanner.h M common/thrift/generate_error_codes.py 5 files changed, 108 insertions(+), 16 deletions(-) Approvals: Internal Jenkins: Verified Tim Armstrong: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/3383 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: If6541e7c68255bf599b26386a55057c93e62af51 Gerrit-PatchSet: 6 Gerrit-Project: Impala Gerrit-Branch: cdh5-trunk Gerrit-Owner: Tim Armstrong <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Internal Jenkins Gerrit-Reviewer: Tim Armstrong <[email protected]>
