impala-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Impala Public Jenkins (Code Review)" <>
Subject [Impala-ASF-CR] IMPALA-5560: always store CHAR(N) inline in tuple
Date Fri, 30 Jun 2017 22:49:41 GMT
Impala Public Jenkins has submitted this change and it was merged.

Change subject: IMPALA-5560: always store CHAR(N) inline in tuple

IMPALA-5560: always store CHAR(N) inline in tuple

This is done to simplify the CHAR(N) logic. I believe this is overall an
improvement - any benefits of the out-of-line storage that motivated
this optimisation originally were outweighed by the added complexity.

This also avoids IMPALA-5559 (fe/be have different notions of var-len),
which will unblock IMPALA-3200.

* Reduce the number of code paths and improve test coverage.
  (e.g. avoids IMPALA-5559: fe/be have different notions of var-len)
* Reduced memory to store non-NULL data (saves 12-byte StringValue)
* Fewer branches in code -> save CPU cycles.
* If CHAR(N) performance is important, reduced complexity makes it
  easier to implement codegen.

* Requires N bytes to store a NULL value.
* May hurt cache locality (although this is speculative in my mind).

The change is mostly mechanical - I removed MAX_CHAR_INLINE_LENGTH
and then removed branches that depended on that.

Ran exhaustive build.

Change-Id: I9c0b823ccff6b0c37f5267c548d096c29b8caac3
Reviewed-by: Tim Armstrong <>
Tested-by: Impala Public Jenkins
M be/src/exec/
M be/src/exec/
M be/src/exec/
M be/src/exec/
M be/src/exec/
M be/src/exprs/
M be/src/exprs/anyval-util.h
M be/src/exprs/
M be/src/exprs/
M be/src/runtime/
M be/src/runtime/
M be/src/runtime/raw-value.inline.h
M be/src/runtime/string-value.h
M be/src/runtime/string-value.inline.h
M be/src/runtime/types.h
M be/src/service/
M be/src/service/
M fe/src/main/java/org/apache/impala/catalog/
M testdata/workloads/functional-query/queries/QueryTest/spilling.test
19 files changed, 69 insertions(+), 130 deletions(-)

  Impala Public Jenkins: Verified
  Tim Armstrong: Looks good to me, approved

To view, visit
To unsubscribe, visit

Gerrit-MessageType: merged
Gerrit-Change-Id: I9c0b823ccff6b0c37f5267c548d096c29b8caac3
Gerrit-PatchSet: 8
Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-Owner: Tim Armstrong <>
Gerrit-Reviewer: Dan Hecht <>
Gerrit-Reviewer: Impala Public Jenkins
Gerrit-Reviewer: Matthew Jacobs <>
Gerrit-Reviewer: Tim Armstrong <>

View raw message