Will Berkeley has submitted this change and it was merged. Change subject: KUDU-2049 Fix too-strict CHECK in RleIntBlockDecoder::SeekToPositionInBlock ......................................................................
KUDU-2049 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 Reviewed-on: http://gerrit.cloudera.org:8080/7262 Reviewed-by: Alexey Serbin <[email protected]> Reviewed-by: Andrew Wong <[email protected]> Tested-by: Kudu Jenkins --- M src/kudu/cfile/cfile-test.cc M src/kudu/cfile/rle_block.h 2 files changed, 13 insertions(+), 3 deletions(-) Approvals: Andrew Wong: Looks good to me, but someone else must approve Alexey Serbin: Looks good to me, approved Kudu Jenkins: Verified -- To view, visit http://gerrit.cloudera.org:8080/7262 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: merged Gerrit-Change-Id: Iae72ca1d2af06de1e77cde233e98aa6af97d07e8 Gerrit-PatchSet: 4 Gerrit-Project: kudu Gerrit-Branch: master Gerrit-Owner: Will Berkeley <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Reviewer: Todd Lipcon <[email protected]> Gerrit-Reviewer: Will Berkeley <[email protected]>
