Hello Andrew Wong, Bankim Bhavsar, Todd Lipcon,

I'd like you to do a code review. Please visit

    http://gerrit.cloudera.org:8080/15647

to review the following change.


Change subject: bitshuffle: stop using uninitialized data as padding
......................................................................

bitshuffle: stop using uninitialized data as padding

The resize() incorrectly accounted for a block header that was never actually
written to data_. The result was that added padding was actually kHeaderSize
bytes "to the right", and the call to compress_lz4() read uninitialized data
from this part of data_ rather than the added padding.

What's the effect? Up to padding_bytes of uninitialized data gets
bitshuffled, compressed, and written to the block. At read time, it is
decompressed, debitshuffled, but ultimately ignored, as it was expected to
be just padded zeroes.

I observed this in cfile-test's TestMetadata built with MSAN
instrumentation, but oddly enough not in any other test in cfile-test, even
though others use bitshuffle and padding.

Change-Id: I25eba027ba356774173b2313c68436d7baddaddc
---
M src/kudu/cfile/bshuf_block.h
1 file changed, 1 insertion(+), 1 deletion(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/47/15647/1
--
To view, visit http://gerrit.cloudera.org:8080/15647
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I25eba027ba356774173b2313c68436d7baddaddc
Gerrit-Change-Number: 15647
Gerrit-PatchSet: 1
Gerrit-Owner: Adar Dembo <a...@cloudera.com>
Gerrit-Reviewer: Andrew Wong <aw...@cloudera.com>
Gerrit-Reviewer: Bankim Bhavsar <ban...@cloudera.com>
Gerrit-Reviewer: Todd Lipcon <t...@apache.org>

Reply via email to