From 40e5d953d95e61d1c9ee092a37157f11d52b7106 Mon Sep 17 00:00:00 2001 From: Nitin Aggarwal Date: Mon, 12 Sep 2016 22:50:07 -0700 Subject: [PATCH] HBASE-16624 Fix MVCC DeSerialization bug in the HFileScannerImpl Change-Id: Ia970619ac7369d24ed432e827319dfdca16143c2 --- .../main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java index fc1c04e..c9e6aea 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java @@ -662,7 +662,8 @@ public class HFileReaderImpl implements HFile.Reader, Configurable { long i = 0; offsetFromPos++; if (remaining >= Bytes.SIZEOF_INT) { - i = blockBuffer.getIntAfterPosition(offsetFromPos); + // The int read has to be converted to unsigned long so the & op + i = (blockBuffer.getIntAfterPosition(offsetFromPos) & 0x00000000ffffffffL); remaining -= Bytes.SIZEOF_INT; offsetFromPos += Bytes.SIZEOF_INT; } -- 2.2.1