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]>
>

Reply via email to