From 5d93965cd5a125e2ce9cbc5aac235438e6cb9b14 Mon Sep 17 00:00:00 2001 From: Andrew Purtell Date: Wed, 2 Jul 2014 16:35:37 -0700 Subject: [PATCH 2/2] HBASE-11457 Increment HFile block encoding IVs with the block size --- .../hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.java hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.java index 0dc1c8a..7dfe857 100644 --- hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.java +++ hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/HFileBlockDefaultEncodingContext.java @@ -187,7 +187,6 @@ public class HFileBlockDefaultEncodingContext implements Preconditions.checkState(ivLength <= Byte.MAX_VALUE, "IV length out of range"); cryptoByteStream.write(ivLength); if (ivLength > 0) { - Encryption.incrementIv(iv); encryptor.setIv(iv); cryptoByteStream.write(iv); } @@ -197,6 +196,9 @@ public class HFileBlockDefaultEncodingContext implements onDiskBytesWithHeader = cryptoByteStream.toByteArray(); + // Increment the IV given the final block size + Encryption.incrementIv(iv, 1 + (onDiskBytesWithHeader.length / encryptor.getBlockSize())); + } else { cryptoByteStream.write(0); -- 1.9.1