Will Berkeley has uploaded a new change for review. http://gerrit.cloudera.org:8080/7262
Change subject: Fix too-strict CHECK in RleIntBlockDecoder::SeekToPositionInBlock ...................................................................... Fix too-strict CHECK in RleIntBlockDecoder::SeekToPositionInBlock In a CFile block with n non-null values, it's permissible to seek to the spot after all rows. However, a CHECK_LT in RleIntBlockDecoder::SeekToPositionInBlock was enforcing seeks to be < n. This patches switches the CHECK_LT to a DCHECK_LE, making it consistent with the checks in other decoders. The problem was not caught in testing due to an omission of RLE encoding from cfile-test.cc's TestCFileBothCacheTypes.TestNullInts. The test now has coverage of RLE encoding and, with slow tests on, fails every time without the change to the CHECK. Additionally, TestCFileBothCacheTypes.TestNullFloats was missing coverage for bit shuffle encoding. This was also fixed. Finally, RleBitMapBlockDecoder::SeekToPositionInBlock was missing any check on its 'pos' argument, so the checks from RleIntBlockDecoder::SeekToPositionInBlock were added to that method as well. Change-Id: Iae72ca1d2af06de1e77cde233e98aa6af97d07e8 --- M src/kudu/cfile/cfile-test.cc M src/kudu/cfile/rle_block.h 2 files changed, 13 insertions(+), 3 deletions(-) git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/62/7262/1 -- To view, visit http://gerrit.cloudera.org:8080/7262 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Iae72ca1d2af06de1e77cde233e98aa6af97d07e8 Gerrit-PatchSet: 1 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Will Berkeley <[email protected]>
