Mind filling a Jira for this since it seems like the kind of bug we will want to backport?
On Jun 22, 2017 9:45 AM, "Will Berkeley (Code Review)" <[email protected]> wrote: > 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]> >
