Hello Kudu Jenkins, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/6623 to look at the new patch set (#10). Change subject: Allow to pad UNIXTIME_MICROS slots in scan results ...................................................................... Allow to pad UNIXTIME_MICROS slots in scan results This changes the wire protocol to, upon request, pad the slots that contain values for UNIXTIME_MICROS columns by 8 bytes. This allows Impala to adopt the result of a Kudu scan as a whole while still having space to transform UNIXTIME_MICROS values, which occupy 8 bytes, to the Impala representation of timestamp, which occupies 16, in place and without copying memory. This patch doesn't include any de-serialization logic the reasoning being that Impala will have knowledge of the data format in order to perform de-serialization directly on the "raw" direct and indirect data. This patch doesn't introduce any branching in the serialization patch. It does move the memset() call that was performed once per nullable column, per row, to be performed on the whole block instead. While less cache friendly, this is also executed less times. The net gain is not significant, but it does not regress in the normal case. Results of running the wire_protocol-test benchmark in slow mode: Before (avg 3 runs): 3.076 After (avg 3 runs): 3.000 The difference is around -2%, which might be in the noise but demostrates no significant regression. Change-Id: I99fc6d3be089d19ebe2e70c938f2405c381578b4 --- M src/kudu/common/wire_protocol-test.cc M src/kudu/common/wire_protocol.cc M src/kudu/common/wire_protocol.h 3 files changed, 200 insertions(+), 48 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/23/6623/10 -- To view, visit http://gerrit.cloudera.org:8080/6623 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I99fc6d3be089d19ebe2e70c938f2405c381578b4 Gerrit-PatchSet: 10 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: David Ribeiro Alves <davidral...@gmail.com> Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com> Gerrit-Reviewer: David Ribeiro Alves <davidral...@gmail.com> Gerrit-Reviewer: Jean-Daniel Cryans <jdcry...@apache.org> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Matthew Jacobs <m...@cloudera.com> Gerrit-Reviewer: Tidy Bot Gerrit-Reviewer: Todd Lipcon <t...@apache.org>