From 0898f2caff3a944c24ce0fa19f91cf81a32d78a3 Mon Sep 17 00:00:00 2001 From: mbautin Date: Wed, 3 Aug 2011 17:25:19 -0700 Subject: [PATCH] Fix TestHFileBlock.testBlockHeapSize. --- .../hadoop/hbase/io/hfile/TestHFileBlock.java | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java b/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java index ddd5ebc..fde3ab9 100644 --- a/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java +++ b/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java @@ -482,12 +482,16 @@ public class TestHFileBlock { @Test public void testBlockHeapSize() { + // We have seen multiple possible values for this estimate of the heap size + // of a ByteBuffer, presumably depending on the JDK version. + assertTrue(HFileBlock.BYTE_BUFFER_HEAP_SIZE == 64 || + HFileBlock.BYTE_BUFFER_HEAP_SIZE == 80); + for (int size : new int[] { 100, 256, 12345 }) { byte[] byteArr = new byte[HFileBlock.HEADER_SIZE + size]; ByteBuffer buf = ByteBuffer.wrap(byteArr, 0, size); HFileBlock block = new HFileBlock(BlockType.DATA, size, size, -1, buf, true, -1); - assertEquals(80, HFileBlock.BYTE_BUFFER_HEAP_SIZE); long expected = ClassSize.align(ClassSize.estimateBase(HFileBlock.class, true) + ClassSize.estimateBase(buf.getClass(), true) -- 1.7.4.4