hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16624) MVCC DeSerialization bug in the HFileScannerImpl
Date Thu, 15 Sep 2016 21:46:20 GMT

    [ https://issues.apache.org/jira/browse/HBASE-16624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15494608#comment-15494608

Hudson commented on HBASE-16624:

FAILURE: Integrated in Jenkins build HBase-Trunk_matrix #1608 (See [https://builds.apache.org/job/HBase-Trunk_matrix/1608/])
HBASE-16624 Fix MVCC DeSerialization bug in the HFileScannerImpl (stack: rev 8c4b09dfbaf53fd770fe3963df6095fc690f2ef5)
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java

> MVCC DeSerialization bug in the HFileScannerImpl
> ------------------------------------------------
>                 Key: HBASE-16624
>                 URL: https://issues.apache.org/jira/browse/HBASE-16624
>             Project: HBase
>          Issue Type: Bug
>          Components: HFile
>    Affects Versions: 2.0.0
>            Reporter: deepankar
>            Assignee: deepankar
>            Priority: Blocker
>             Fix For: 2.0.0
>         Attachments: HBASE-16624.patch
> My colleague [~naggarwal] found a bug in the deserialization of mvcc from HFile, As a
part of the optimization of deserialization of VLong, we read a int at once but we forgot
to convert it to unsigned one. 
> This would cause issues because once we cross the integer threshold in sequenceId and
a compaction happens we would write MAX_MEMSTORE_TS in the trailer as 0 (because we will be
reading negative values from the file that got flushed with sequenceId > Integer.MAX_VALUE).
And once we have MAX_MEMSTORE_TS as 0, and there are sequenceId values present alongside with
KeyValues the regionserver will now start failing to read the compacted file and thus corruption.

> Interestingly this would happen only on the tables that don't have  DataBlockEncoding
enabled and unfortunately in our case that turned out to be META and a another small table.
> Fix is small (~20 chars) and attached

This message was sent by Atlassian JIRA

View raw message