You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ra...@apache.org on 2013/10/09 13:21:04 UTC

svn commit: r1530567 [1/2] - in /hbase/trunk: hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/ hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/ hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/ hbase-server/src/main/...

Author: ramkrishna
Date: Wed Oct  9 11:21:03 2013
New Revision: 1530567

URL: http://svn.apache.org/r1530567
Log:
HBASE-9546-HFileContext should adopt Builder pattern (Ram)


Added:
    hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.java
Modified:
    hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV3.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV3.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestChecksum.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockCompatibility.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFiles.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/CreateRandomStoreFile.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/DataBlockEncodingTool.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestFSErrorsExposed.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegionServerBulkLoad.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/wal/TestWALReplay.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestAccessController.java

Modified: hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java (original)
+++ hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java Wed Oct  9 11:21:03 2013
@@ -59,27 +59,52 @@ public class HFileContext implements Hea
   //Empty constructor.  Go with setters
   public HFileContext() {
   }
+  /**
+   * Copy constructor
+   * @param context
+   */
+  public HFileContext(HFileContext context) {
+    this.usesHBaseChecksum = context.usesHBaseChecksum;
+    this.includesMvcc = context.includesMvcc;
+    this.includesTags = context.includesTags;
+    this.compressAlgo = context.compressAlgo;
+    this.compressTags = context.compressTags;
+    this.checksumType = context.checksumType;
+    this.bytesPerChecksum = context.bytesPerChecksum;
+    this.blocksize = context.blocksize;
+    this.encodingOnDisk = context.encodingOnDisk;
+    this.encodingInCache = context.encodingInCache;
+  }
+
+  public HFileContext(boolean useHBaseChecksum, boolean includesMvcc, boolean includesTags,
+      Algorithm compressAlgo, boolean compressTags, ChecksumType checksumType,
+      int bytesPerChecksum, int blockSize, DataBlockEncoding encodingOnDisk,
+      DataBlockEncoding encodingInCache) {
+    this.usesHBaseChecksum = useHBaseChecksum;
+    this.includesMvcc =  includesMvcc;
+    this.includesTags = includesTags;
+    this.compressAlgo = compressAlgo;
+    this.compressTags = compressTags;
+    this.checksumType = checksumType;
+    this.bytesPerChecksum = bytesPerChecksum;
+    this.blocksize = blockSize;
+    this.encodingOnDisk = encodingOnDisk;
+    this.encodingInCache = encodingInCache;
+  }
 
   public Algorithm getCompression() {
     return compressAlgo;
   }
 
-  public void setCompressAlgo(Algorithm compressAlgo) {
-    this.compressAlgo = compressAlgo;
-  }
-
   public boolean shouldUseHBaseChecksum() {
     return usesHBaseChecksum;
   }
 
-  public void setUsesHBaseChecksum(boolean usesHBaseChecksum) {
-    this.usesHBaseChecksum = usesHBaseChecksum;
-  }
-
   public boolean shouldIncludeMvcc() {
     return includesMvcc;
   }
 
+  // TODO : This setter should be removed
   public void setIncludesMvcc(boolean includesMvcc) {
     this.includesMvcc = includesMvcc;
   }
@@ -88,6 +113,7 @@ public class HFileContext implements Hea
     return includesTags;
   }
 
+  // TODO : This setter should be removed?
   public void setIncludesTags(boolean includesTags) {
     this.includesTags = includesTags;
   }
@@ -96,50 +122,26 @@ public class HFileContext implements Hea
     return compressTags;
   }
 
-  public void setCompressTags(boolean compressTags) {
-    this.compressTags = compressTags;
-  }
-
   public ChecksumType getChecksumType() {
     return checksumType;
   }
 
-  public void setChecksumType(ChecksumType checksumType) {
-    this.checksumType = checksumType;
-  }
-
   public int getBytesPerChecksum() {
     return bytesPerChecksum;
   }
 
-  public void setBytesPerChecksum(int bytesPerChecksum) {
-    this.bytesPerChecksum = bytesPerChecksum;
-  }
-
   public int getBlocksize() {
     return blocksize;
   }
 
-  public void setBlocksize(int blocksize) {
-    this.blocksize = blocksize;
-  }
-
   public DataBlockEncoding getEncodingOnDisk() {
     return encodingOnDisk;
   }
 
-  public void setEncodingOnDisk(DataBlockEncoding encodingOnDisk) {
-    this.encodingOnDisk = encodingOnDisk;
-  }
-
   public DataBlockEncoding getEncodingInCache() {
     return encodingInCache;
   }
 
-  public void setEncodingInCache(DataBlockEncoding encodingInCache) {
-    this.encodingInCache = encodingInCache;
-  }
-
   /**
    * HeapSize implementation
    * NOTE : The heapsize should be altered as and when new state variable are added
@@ -171,4 +173,4 @@ public class HFileContext implements Hea
     clonnedCtx.encodingInCache = this.encodingInCache;
     return clonnedCtx;
   }
-}
\ No newline at end of file
+}

Added: hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.java?rev=1530567&view=auto
==============================================================================
--- hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.java (added)
+++ hbase/trunk/hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.java Wed Oct  9 11:21:03 2013
@@ -0,0 +1,107 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.hadoop.hbase.io.hfile;
+
+import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.hbase.HConstants;
+import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
+import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
+import org.apache.hadoop.hbase.util.ChecksumType;
+/**
+ * A builder that helps in building up the HFileContext 
+ */
+@InterfaceAudience.Private
+public class HFileContextBuilder {
+
+  public static final int DEFAULT_BYTES_PER_CHECKSUM = 16 * 1024;
+  public static final ChecksumType DEFAULT_CHECKSUM_TYPE = ChecksumType.CRC32;
+
+  /** Whether checksum is enabled or not **/
+  private boolean usesHBaseChecksum = true;
+  /** Whether mvcc is to be included in the Read/Write **/
+  private boolean includesMvcc = true;
+  /** Whether tags are to be included in the Read/Write **/
+  private boolean includesTags;
+  /** Compression algorithm used **/
+  private Algorithm compressAlgo = Algorithm.NONE;
+  /** Whether tags to be compressed or not **/
+  private boolean compressTags;
+  /** the checksum type **/
+  private ChecksumType checksumType = DEFAULT_CHECKSUM_TYPE;
+  /** the number of bytes per checksum value **/
+  private int bytesPerChecksum = DEFAULT_BYTES_PER_CHECKSUM;
+  /** Number of uncompressed bytes we allow per block. */
+  private int blocksize = HConstants.DEFAULT_BLOCKSIZE;
+  private DataBlockEncoding encodingOnDisk = DataBlockEncoding.NONE;
+  private DataBlockEncoding encodingInCache = DataBlockEncoding.NONE;
+
+  public HFileContextBuilder withHBaseCheckSum(boolean useHBaseCheckSum) {
+    this.usesHBaseChecksum = useHBaseCheckSum;
+    return this;
+  }
+
+  public HFileContextBuilder withIncludesMvcc(boolean includesMvcc) {
+    this.includesMvcc = includesMvcc;
+    return this;
+  }
+
+  public HFileContextBuilder withIncludesTags(boolean includesTags) {
+    this.includesTags = includesTags;
+    return this;
+  }
+
+  public HFileContextBuilder withCompressionAlgo(Algorithm compressionAlgo) {
+    this.compressAlgo = compressionAlgo;
+    return this;
+  }
+
+  public HFileContextBuilder withCompressTags(boolean compressTags) {
+    this.compressTags = compressTags;
+    return this;
+  }
+
+  public HFileContextBuilder withChecksumType(ChecksumType checkSumType) {
+    this.checksumType = checkSumType;
+    return this;
+  }
+
+  public HFileContextBuilder withBytesPerCheckSum(int bytesPerChecksum) {
+    this.bytesPerChecksum = bytesPerChecksum;
+    return this;
+  }
+
+  public HFileContextBuilder withBlockSize(int blockSize) {
+    this.blocksize = blockSize;
+    return this;
+  }
+
+  public HFileContextBuilder withDataBlockEncodingOnDisk(DataBlockEncoding encodingOnDisk) {
+    this.encodingOnDisk = encodingOnDisk;
+    return this;
+  }
+
+  public HFileContextBuilder withDataBlockEncodingInCache(DataBlockEncoding encodingInCache) {
+    this.encodingInCache = encodingInCache;
+    return this;
+  }
+
+  public HFileContext build() {
+    return new HFileContext(usesHBaseChecksum, includesMvcc, includesTags, compressAlgo,
+        compressTags, checksumType, bytesPerChecksum, blocksize, encodingOnDisk, encodingInCache);
+  }
+}

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java Wed Oct  9 11:21:03 2013
@@ -239,18 +239,19 @@ public class HFileBlock implements Cache
     onDiskSizeWithoutHeader = b.getInt();
     uncompressedSizeWithoutHeader = b.getInt();
     prevBlockOffset = b.getLong();
-    this.fileContext = new HFileContext();
-    this.fileContext.setUsesHBaseChecksum(usesHBaseChecksum);
+    HFileContextBuilder contextBuilder = new HFileContextBuilder();
+    contextBuilder.withHBaseCheckSum(usesHBaseChecksum);
     if (usesHBaseChecksum) {
-      this.fileContext.setChecksumType(ChecksumType.codeToType(b.get()));
-      this.fileContext.setBytesPerChecksum(b.getInt());
+      contextBuilder.withChecksumType(ChecksumType.codeToType(b.get()));
+      contextBuilder.withBytesPerCheckSum(b.getInt());
       this.onDiskDataSizeWithHeader = b.getInt();
     } else {
-      this.fileContext.setChecksumType(ChecksumType.NULL);
-      this.fileContext.setBytesPerChecksum(0);
+      contextBuilder.withChecksumType(ChecksumType.NULL);
+      contextBuilder.withBytesPerCheckSum(0);
       this.onDiskDataSizeWithHeader = onDiskSizeWithoutHeader +
                                        HConstants.HFILEBLOCK_HEADER_SIZE_NO_CHECKSUM;
     }
+    this.fileContext = contextBuilder.build();
     buf = b;
     buf.rewind();
   }
@@ -1019,9 +1020,18 @@ public class HFileBlock implements Cache
      * 0 value in bytesPerChecksum.
      */
     public HFileBlock getBlockForCaching() {
-      HFileContext newContext = fileContext.clone();
-      newContext.setBytesPerChecksum(0);
-      newContext.setChecksumType(ChecksumType.NULL); // no checksums in cached data
+      HFileContext newContext = new HFileContextBuilder()
+                                .withBlockSize(fileContext.getBlocksize())
+                                .withBytesPerCheckSum(0)
+                                .withChecksumType(ChecksumType.NULL) // no checksums in cached data
+                                .withCompressionAlgo(fileContext.getCompression())
+                                .withDataBlockEncodingInCache(fileContext.getEncodingInCache())
+                                .withDataBlockEncodingOnDisk(fileContext.getEncodingOnDisk())
+                                .withHBaseCheckSum(fileContext.shouldUseHBaseChecksum())
+                                .withCompressTags(fileContext.shouldCompressTags())
+                                .withIncludesMvcc(fileContext.shouldIncludeMvcc())
+                                .withIncludesTags(fileContext.shouldIncludeTags())
+                                .build();
       return new HFileBlock(blockType, getOnDiskSizeWithoutHeader(),
           getUncompressedSizeWithoutHeader(), prevOffset, getUncompressedBufferWithHeader(),
           DONT_FILL_HEADER, startOffset,

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileDataBlockEncoderImpl.java Wed Oct  9 11:21:03 2013
@@ -245,14 +245,14 @@ public class HFileDataBlockEncoderImpl i
    * See HBASE-8732
    * @return a new in cache encoding context
    */
-  private HFileBlockEncodingContext createInCacheEncodingContext(HFileContext meta) {
-    HFileContext newMeta = meta.clone();
+  private HFileBlockEncodingContext createInCacheEncodingContext(HFileContext fileContext) {
+    HFileContext newContext = new HFileContext(fileContext);
     return (inCache != DataBlockEncoding.NONE) ?
                 this.inCache.getEncoder().newDataBlockEncodingContext(
-                    this.inCache, dummyHeader, newMeta)
+                    this.inCache, dummyHeader, newContext)
                 :
                 // create a default encoding context
-                new HFileBlockDefaultEncodingContext(this.inCache, dummyHeader, newMeta);
+                new HFileBlockDefaultEncodingContext(this.inCache, dummyHeader, newContext);
   }
 
   @Override

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java Wed Oct  9 11:21:03 2013
@@ -179,12 +179,12 @@ public class HFileReaderV2 extends Abstr
   }
 
   protected HFileContext createHFileContext(FixedFileTrailer trailer) {
-    HFileContext meta = new HFileContext();
-    meta.setIncludesMvcc(this.includesMemstoreTS);
-    meta.setUsesHBaseChecksum(
-        trailer.getMinorVersion() >= MINOR_VERSION_WITH_CHECKSUM);
-    meta.setCompressAlgo(this.compressAlgo);
-    return meta;
+    HFileContext hFileContext  = new HFileContextBuilder()
+                                 .withIncludesMvcc(this.includesMemstoreTS)
+                                 .withCompressionAlgo(this.compressAlgo)
+                                 .withHBaseCheckSum(trailer.getMinorVersion() >= MINOR_VERSION_WITH_CHECKSUM)
+                                 .build();
+    return hFileContext;
   }
 
   /**

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV3.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV3.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV3.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV3.java Wed Oct  9 11:21:03 2013
@@ -64,12 +64,13 @@ public class HFileReaderV3 extends HFile
 
   @Override
   protected HFileContext createHFileContext(FixedFileTrailer trailer) {
-    HFileContext meta = new HFileContext();
-    meta.setIncludesMvcc(this.includesMemstoreTS);
-    meta.setUsesHBaseChecksum(true);
-    meta.setCompressAlgo(this.compressAlgo);
-    meta.setIncludesTags(true);
-    return meta;
+    HFileContext hfileContext = new HFileContextBuilder()
+                                .withIncludesMvcc(this.includesMemstoreTS)
+                                .withHBaseCheckSum(true)
+                                .withCompressionAlgo(this.compressAlgo)
+                                .withIncludesTags(true)
+                                .build();
+    return hfileContext;
   }
 
   /**
@@ -273,4 +274,4 @@ public class HFileReaderV3 extends HFile
   protected HFileBlock diskToCacheFormat(HFileBlock hfileBlock, final boolean isCompaction) {
     return dataBlockEncoder.diskToCacheFormat(hfileBlock, isCompaction);
   }
-}
\ No newline at end of file
+}

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java Wed Oct  9 11:21:03 2013
@@ -34,11 +34,8 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.KeyValue.KVComparator;
-import org.apache.hadoop.hbase.io.compress.Compression;
-import org.apache.hadoop.hbase.io.hfile.HFileContext;
 import org.apache.hadoop.hbase.io.hfile.HFile.Writer;
 import org.apache.hadoop.hbase.io.hfile.HFileBlock.BlockWritable;
-import org.apache.hadoop.hbase.util.ChecksumType;
 import org.apache.hadoop.hbase.util.BloomFilterWriter;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.io.Writable;
@@ -135,9 +132,6 @@ public class HFileWriterV2 extends Abstr
   protected HFileBlock.Writer createBlockWriter() {
     // HFile filesystem-level (non-caching) block writer
     hFileContext.setIncludesTags(false);
-    // This can be set while the write is created itself because
-    // in both cases useHBaseChecksum is going to be true
-    hFileContext.setUsesHBaseChecksum(true);
     return new HFileBlock.Writer(blockEncoder, hFileContext);
   }
   /**

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV3.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV3.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV3.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV3.java Wed Oct  9 11:21:03 2013
@@ -186,7 +186,6 @@ public class HFileWriterV3 extends HFile
   protected HFileBlock.Writer createBlockWriter() {
     // HFile filesystem-level (non-caching) block writer
     hFileContext.setIncludesTags(true);
-    hFileContext.setUsesHBaseChecksum(true);
     return new HFileBlock.Writer(blockEncoder, hFileContext);
   }
 
@@ -199,4 +198,4 @@ public class HFileWriterV3 extends HFile
   protected int getMinorVersion() {
     return HFileReaderV3.MAX_MINOR_VERSION;
   }
-}
\ No newline at end of file
+}

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat.java Wed Oct  9 11:21:03 2013
@@ -49,9 +49,7 @@ import org.apache.hadoop.hbase.io.encodi
 import org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter;
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
-import org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoder;
-import org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoderImpl;
-import org.apache.hadoop.hbase.io.hfile.NoOpDataBlockEncoder;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.regionserver.BloomType;
 import org.apache.hadoop.hbase.regionserver.HStore;
 import org.apache.hadoop.hbase.regionserver.StoreFile;
@@ -194,18 +192,20 @@ public class HFileOutputFormat extends F
             : Integer.parseInt(blockSizeString);
         Configuration tempConf = new Configuration(conf);
         tempConf.setFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY, 0.0f);
-        HFileContext meta = new HFileContext();
-        meta.setCompressAlgo(AbstractHFileWriter.compressionByName(compression));
-        meta.setChecksumType(HStore.getChecksumType(conf));
-        meta.setBytesPerChecksum(HStore.getBytesPerChecksum(conf));
-        meta.setBlocksize(blockSize);
-        if (dataBlockEncodingStr != null) {
-          meta.setEncodingInCache(DataBlockEncoding.valueOf(dataBlockEncodingStr));
-          meta.setEncodingOnDisk(DataBlockEncoding.valueOf(dataBlockEncodingStr));
+        HFileContextBuilder contextBuilder = new HFileContextBuilder()
+                                    .withCompressionAlgo(AbstractHFileWriter.compressionByName(compression))
+                                    .withChecksumType(HStore.getChecksumType(conf))
+                                    .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))
+                                    .withBlockSize(blockSize);
+        if(dataBlockEncodingStr !=  null) {
+          contextBuilder.withDataBlockEncodingOnDisk(DataBlockEncoding.valueOf(dataBlockEncodingStr))
+                        .withDataBlockEncodingInCache(DataBlockEncoding.valueOf(dataBlockEncodingStr));
         }
+        HFileContext hFileContext = contextBuilder.build();
+                                    
         wl.writer = new StoreFile.WriterBuilder(conf, new CacheConfig(tempConf), fs)
             .withOutputDir(familydir).withBloomType(bloomType).withComparator(KeyValue.COMPARATOR)
-            .withFileContext(meta)
+            .withFileContext(hFileContext)
             .build();
 
         this.writers.put(family, wl);

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java Wed Oct  9 11:21:03 2013
@@ -71,6 +71,7 @@ import org.apache.hadoop.hbase.io.encodi
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.io.hfile.HFileScanner;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.regionserver.BloomType;
@@ -653,19 +654,19 @@ public class LoadIncrementalHFiles exten
       int blocksize = familyDescriptor.getBlocksize();
       Algorithm compression = familyDescriptor.getCompression();
       BloomType bloomFilterType = familyDescriptor.getBloomFilterType();
-
-      HFileContext meta = new HFileContext();
-      meta.setCompressAlgo(compression);
-      meta.setChecksumType(HStore.getChecksumType(conf));
-      meta.setBytesPerChecksum(HStore.getBytesPerChecksum(conf));
-      meta.setBlocksize(blocksize);
-      meta.setEncodingInCache(familyDescriptor.getDataBlockEncoding());
-      meta.setEncodingOnDisk(familyDescriptor.getDataBlockEncodingOnDisk());
+      HFileContext hFileContext = new HFileContextBuilder()
+                                  .withCompressionAlgo(compression)
+                                  .withChecksumType(HStore.getChecksumType(conf))
+                                  .withBytesPerCheckSum(HStore.getBytesPerChecksum(conf))
+                                  .withBlockSize(blocksize)
+                                  .withDataBlockEncodingInCache(familyDescriptor.getDataBlockEncoding())
+                                  .withDataBlockEncodingOnDisk(familyDescriptor.getDataBlockEncodingOnDisk())
+                                  .build();
       halfWriter = new StoreFile.WriterBuilder(conf, cacheConf,
           fs)
               .withFilePath(outFile)
               .withBloomType(bloomFilterType)
-              .withFileContext(meta)
+              .withFileContext(hFileContext)
               .build();
       HFileScanner scanner = halfReader.getScanner(false, false, false);
       scanner.seekTo();

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java Wed Oct  9 11:21:03 2013
@@ -59,6 +59,7 @@ import org.apache.hadoop.hbase.io.compre
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoder;
 import org.apache.hadoop.hbase.io.hfile.HFileDataBlockEncoderImpl;
 import org.apache.hadoop.hbase.io.hfile.HFileScanner;
@@ -813,18 +814,20 @@ public class HStore implements Store {
   
   private HFileContext createFileContext(Compression.Algorithm compression,
       boolean includeMVCCReadpoint, boolean includesTag) {
-    HFileContext hFileContext = new HFileContext();
-    hFileContext.setIncludesMvcc(includeMVCCReadpoint);
-    hFileContext.setIncludesTags(includesTag);
     if (compression == null) {
       compression = HFile.DEFAULT_COMPRESSION_ALGORITHM;
     }
-    hFileContext.setCompressAlgo(compression);
-    hFileContext.setChecksumType(checksumType);
-    hFileContext.setBytesPerChecksum(bytesPerChecksum);
-    hFileContext.setBlocksize(blocksize);
-    hFileContext.setEncodingInCache(family.getDataBlockEncoding());
-    hFileContext.setEncodingOnDisk(family.getDataBlockEncodingOnDisk());
+    HFileContext hFileContext = new HFileContextBuilder()
+                                .withIncludesMvcc(includeMVCCReadpoint)
+                                .withIncludesTags(includesTag)
+                                .withCompressionAlgo(compression)
+                                .withChecksumType(checksumType)
+                                .withBytesPerCheckSum(bytesPerChecksum)
+                                .withBlockSize(blocksize)
+                                .withHBaseCheckSum(true)
+                                .withDataBlockEncodingOnDisk(family.getDataBlockEncodingOnDisk())
+                                .withDataBlockEncodingInCache(family.getDataBlockEncoding())
+                                .build();
     return hFileContext;
   }
 

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/util/CompressionTest.java Wed Oct  9 11:21:03 2013
@@ -18,9 +18,7 @@
  */
 package org.apache.hadoop.hbase.util;
 
-import java.awt.*;
 import java.io.IOException;
-import java.util.Arrays;
 
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.logging.Log;
@@ -32,10 +30,11 @@ import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.io.compress.Compression;
+import org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter;
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
-import org.apache.hadoop.hbase.io.hfile.AbstractHFileWriter;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.io.compress.Compressor;
 
 /**
@@ -114,8 +113,8 @@ public class CompressionTest {
   public static void doSmokeTest(FileSystem fs, Path path, String codec)
   throws Exception {
     Configuration conf = HBaseConfiguration.create();
-    HFileContext context = new HFileContext();
-    context.setCompressAlgo(AbstractHFileWriter.compressionByName(codec));
+    HFileContext context = new HFileContextBuilder()
+                           .withCompressionAlgo(AbstractHFileWriter.compressionByName(codec)).build();
     HFile.Writer writer = HFile.getWriterFactoryNoCache(conf)
         .withPath(fs, path)
         .withFileContext(context)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/HFilePerformanceEvaluation.java Wed Oct  9 11:21:03 2013
@@ -30,10 +30,10 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
-import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.io.hfile.HFileScanner;
 import org.apache.hadoop.hbase.util.Bytes;
 
@@ -189,8 +189,7 @@ public class HFilePerformanceEvaluation 
 
     @Override
     void setUp() throws Exception {
-      HFileContext hFileContext = new HFileContext();
-      hFileContext.setBlocksize(RFILE_BLOCKSIZE);
+      HFileContext hFileContext = new HFileContextBuilder().withBlockSize(RFILE_BLOCKSIZE).build();
       writer =
         HFile.getWriterFactoryNoCache(conf)
             .withPath(fs, mf)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRegionObserverInterface.java Wed Oct  9 11:21:03 2013
@@ -37,8 +37,6 @@ import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.Coprocessor;
-import org.apache.hadoop.hbase.ServerName;
-import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
@@ -46,7 +44,10 @@ import org.apache.hadoop.hbase.HTableDes
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.MediumTests;
 import org.apache.hadoop.hbase.MiniHBaseCluster;
+import org.apache.hadoop.hbase.ServerName;
+import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Delete;
+import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.HBaseAdmin;
 import org.apache.hadoop.hbase.client.HTable;
@@ -56,17 +57,17 @@ import org.apache.hadoop.hbase.client.Re
 import org.apache.hadoop.hbase.client.ResultScanner;
 import org.apache.hadoop.hbase.client.RowMutations;
 import org.apache.hadoop.hbase.client.Scan;
-import org.apache.hadoop.hbase.client.Durability;
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.mapreduce.LoadIncrementalHFiles;
 import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.InternalScanner;
 import org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost;
-import org.apache.hadoop.hbase.regionserver.Store;
 import org.apache.hadoop.hbase.regionserver.ScanType;
+import org.apache.hadoop.hbase.regionserver.Store;
 import org.apache.hadoop.hbase.regionserver.StoreFile;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;
@@ -611,7 +612,7 @@ public class TestRegionObserverInterface
       Configuration conf,
       FileSystem fs, Path path,
       byte[] family, byte[] qualifier) throws IOException {
-    HFileContext context = new HFileContext();
+    HFileContext context = new HFileContextBuilder().build();
     HFile.Writer writer = HFile.getWriterFactory(conf, new CacheConfig(conf))
         .withPath(fs, path)
         .withFileContext(context)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/TestHalfStoreFileReader.java Wed Oct  9 11:21:03 2013
@@ -37,13 +37,13 @@ import org.apache.hadoop.hbase.io.encodi
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.io.hfile.HFile;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.io.hfile.HFileScanner;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
-import org.mortbay.log.Log;
 
 @Category(SmallTests.class)
 public class TestHalfStoreFileReader {
@@ -83,8 +83,7 @@ public class TestHalfStoreFileReader {
     Configuration conf = TEST_UTIL.getConfiguration();
     FileSystem fs = FileSystem.get(conf);
     CacheConfig cacheConf = new CacheConfig(conf);
-    HFileContext meta = new HFileContext();
-    meta.setBlocksize(1024);
+    HFileContext meta = new HFileContextBuilder().withBlockSize(1024).build();
     HFile.Writer w = HFile.getWriterFactory(conf, cacheConf)
         .withPath(fs, p)
         .withFileContext(meta)
@@ -149,8 +148,7 @@ public class TestHalfStoreFileReader {
       Configuration conf = TEST_UTIL.getConfiguration();
       FileSystem fs = FileSystem.get(conf);
       CacheConfig cacheConf = new CacheConfig(conf);
-      HFileContext meta = new HFileContext();
-      meta.setBlocksize(1024);
+      HFileContext meta = new HFileContextBuilder().withBlockSize(1024).build();
       HFile.Writer w = HFile.getWriterFactory(conf, cacheConf)
               .withPath(fs, p)
               .withFileContext(meta)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestDataBlockEncoders.java Wed Oct  9 11:21:03 2013
@@ -31,11 +31,12 @@ import java.util.Random;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.Tag;
 import org.apache.hadoop.hbase.KeyValue.Type;
 import org.apache.hadoop.hbase.LargeTests;
+import org.apache.hadoop.hbase.Tag;
 import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.test.RedundantKVGenerator;
 import org.junit.Test;
@@ -76,11 +77,11 @@ public class TestDataBlockEncoders {
   private HFileBlockEncodingContext getEncodingContext(Compression.Algorithm algo,
       DataBlockEncoding encoding) {
     DataBlockEncoder encoder = encoding.getEncoder();
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(includesTags);
-    meta.setCompressAlgo(algo);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(false)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(includesTags)
+                        .withCompressionAlgo(algo).build();
     if (encoder != null) {
       return encoder.newDataBlockEncodingContext(encoding,
           HConstants.HFILEBLOCK_DUMMY_HEADER, meta);
@@ -114,11 +115,11 @@ public class TestDataBlockEncoders {
     DataInputStream dis = new DataInputStream(bais);
     ByteBuffer actualDataset;
     DataBlockEncoder encoder = encoding.getEncoder();
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(includesTags);
-    meta.setCompressAlgo(Compression.Algorithm.NONE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(false)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(includesTags)
+                        .withCompressionAlgo(Compression.Algorithm.NONE).build();
     actualDataset = encoder.decodeKeyValues(dis, encoder.newDataBlockDecodingContext(meta));
     dataset.rewind();
     actualDataset.rewind();
@@ -219,11 +220,12 @@ public class TestDataBlockEncoders {
 
       ByteBuffer encodedBuffer = ByteBuffer.wrap(encodeBytes(encoding, originalBuffer));
       DataBlockEncoder encoder = encoding.getEncoder();
-      HFileContext meta = new HFileContext();
-      meta.setUsesHBaseChecksum(false);
-      meta.setIncludesMvcc(includesMemstoreTS);
-      meta.setIncludesTags(includesTags);
-      meta.setCompressAlgo(Compression.Algorithm.NONE);
+      HFileContext meta = new HFileContextBuilder()
+                          .withHBaseCheckSum(false)
+                          .withIncludesMvcc(includesMemstoreTS)
+                          .withIncludesTags(includesTags)
+                          .withCompressionAlgo(Compression.Algorithm.NONE)
+                          .build();
       DataBlockEncoder.EncodedSeeker seeker = encoder.createSeeker(KeyValue.COMPARATOR,
           encoder.newDataBlockDecodingContext(meta));
       seeker.setCurrentBuffer(encodedBuffer);
@@ -274,11 +276,12 @@ public class TestDataBlockEncoders {
         throw new RuntimeException(String.format("Bug while encoding using '%s'",
             encoder.toString()), e);
       }
-      HFileContext meta = new HFileContext();
-      meta.setUsesHBaseChecksum(false);
-      meta.setIncludesMvcc(includesMemstoreTS);
-      meta.setIncludesTags(includesTags);
-      meta.setCompressAlgo(Compression.Algorithm.NONE);
+      HFileContext meta = new HFileContextBuilder()
+                          .withHBaseCheckSum(false)
+                          .withIncludesMvcc(includesMemstoreTS)
+                          .withIncludesTags(includesTags)
+                          .withCompressionAlgo(Compression.Algorithm.NONE)
+                          .build();
       DataBlockEncoder.EncodedSeeker seeker = encoder.createSeeker(KeyValue.COMPARATOR,
           encoder.newDataBlockDecodingContext(meta));
       seeker.setCurrentBuffer(encodedBuffer);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.java Wed Oct  9 11:21:03 2013
@@ -42,6 +42,7 @@ import org.apache.hadoop.hbase.codec.pre
 import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
 import org.apache.hadoop.hbase.io.encoding.DataBlockEncoder.EncodedSeeker;
 import org.apache.hadoop.hbase.io.hfile.HFileContext;
+import org.apache.hadoop.hbase.io.hfile.HFileContextBuilder;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.CollectionBackedScanner;
 import org.junit.Assert;
@@ -96,11 +97,11 @@ public class TestPrefixTreeEncoding {
     PrefixTreeCodec encoder = new PrefixTreeCodec();
     int batchId = numBatchesWritten++;
     ByteBuffer dataBuffer = generateFixedTestData(kvset, batchId, false, includesTag);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(false);
-    meta.setIncludesTags(includesTag);
-    meta.setCompressAlgo(Algorithm.NONE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(false)
+                        .withIncludesMvcc(false)
+                        .withIncludesTags(includesTag)
+                        .withCompressionAlgo(Algorithm.NONE).build();
     HFileBlockEncodingContext blkEncodingCtx = new HFileBlockDefaultEncodingContext(
         DataBlockEncoding.PREFIX_TREE, new byte[0], meta);
     encoder.encodeKeyValues(dataBuffer, blkEncodingCtx);
@@ -137,11 +138,12 @@ public class TestPrefixTreeEncoding {
   public void testScanWithRandomData() throws Exception {
     PrefixTreeCodec encoder = new PrefixTreeCodec();
     ByteBuffer dataBuffer = generateRandomTestData(kvset, numBatchesWritten++, includesTag);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(false);
-    meta.setIncludesTags(includesTag);
-    meta.setCompressAlgo(Algorithm.NONE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(false)
+                        .withIncludesMvcc(false)
+                        .withIncludesTags(includesTag)
+                        .withCompressionAlgo(Algorithm.NONE)
+                        .build();
     HFileBlockEncodingContext blkEncodingCtx = new HFileBlockDefaultEncodingContext(
         DataBlockEncoding.PREFIX_TREE, new byte[0], meta);
     encoder.encodeKeyValues(dataBuffer, blkEncodingCtx);
@@ -173,11 +175,12 @@ public class TestPrefixTreeEncoding {
     PrefixTreeCodec encoder = new PrefixTreeCodec();
     int batchId = numBatchesWritten++;
     ByteBuffer dataBuffer = generateRandomTestData(kvset, batchId, includesTag);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(false);
-    meta.setIncludesTags(includesTag);
-    meta.setCompressAlgo(Algorithm.NONE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(false)
+                        .withIncludesMvcc(false)
+                        .withIncludesTags(includesTag)
+                        .withCompressionAlgo(Algorithm.NONE)
+                        .build();
     HFileBlockEncodingContext blkEncodingCtx = new HFileBlockDefaultEncodingContext(
         DataBlockEncoding.PREFIX_TREE, new byte[0], meta);
     encoder.encodeKeyValues(dataBuffer, blkEncodingCtx);
@@ -194,11 +197,12 @@ public class TestPrefixTreeEncoding {
     PrefixTreeCodec encoder = new PrefixTreeCodec();
     int batchId = numBatchesWritten++;
     ByteBuffer dataBuffer = generateFixedTestData(kvset, batchId, includesTag);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(false);
-    meta.setIncludesTags(includesTag);
-    meta.setCompressAlgo(Algorithm.NONE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(false)
+                        .withIncludesMvcc(false)
+                        .withIncludesTags(includesTag)
+                        .withCompressionAlgo(Algorithm.NONE)
+                        .build();
     HFileBlockEncodingContext blkEncodingCtx = new HFileBlockDefaultEncodingContext(
         DataBlockEncoding.PREFIX_TREE, new byte[0], meta);
     encoder.encodeKeyValues(dataBuffer, blkEncodingCtx);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java Wed Oct  9 11:21:03 2013
@@ -38,7 +38,6 @@ import org.apache.hadoop.hbase.Multithre
 import org.apache.hadoop.hbase.MultithreadedTestUtil.TestThread;
 import org.apache.hadoop.hbase.io.HeapSize;
 import org.apache.hadoop.hbase.io.compress.Compression;
-import org.apache.hadoop.hbase.io.hfile.HFileContext;
 import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;
 import org.apache.hadoop.hbase.util.ChecksumType;
 
@@ -341,13 +340,14 @@ public class CacheTestUtils {
       cachedBuffer.putInt(uncompressedSizeWithoutHeader);
       cachedBuffer.putLong(prevBlockOffset);
       cachedBuffer.rewind();
-      HFileContext meta = new HFileContext();
-      meta.setUsesHBaseChecksum(false);
-      meta.setIncludesMvcc(includesMemstoreTS);
-      meta.setIncludesTags(false);
-      meta.setCompressAlgo(Compression.Algorithm.NONE);
-      meta.setBytesPerChecksum(0);
-      meta.setChecksumType(ChecksumType.NULL);
+      HFileContext meta = new HFileContextBuilder()
+                          .withHBaseCheckSum(false)
+                          .withIncludesMvcc(includesMemstoreTS)
+                          .withIncludesTags(false)
+                          .withCompressionAlgo(Compression.Algorithm.NONE)
+                          .withBytesPerCheckSum(0)
+                          .withChecksumType(ChecksumType.NULL)
+                          .build();
       HFileBlock generated = new HFileBlock(BlockType.DATA,
           onDiskSizeWithoutHeader, uncompressedSizeWithoutHeader,
           prevBlockOffset, cachedBuffer, HFileBlock.DONT_FILL_HEADER,

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestCacheOnWrite.java Wed Oct  9 11:21:03 2013
@@ -307,13 +307,10 @@ public class TestCacheOnWrite {
     }
     Path storeFileParentDir = new Path(TEST_UTIL.getDataTestDir(),
         "test_cache_on_write");
-    HFileContext meta = new HFileContext();
-    meta.setCompressAlgo(compress);
-    meta.setChecksumType(CKTYPE);
-    meta.setBytesPerChecksum(CKBYTES);
-    meta.setBlocksize(DATA_BLOCK_SIZE);
-    meta.setEncodingInCache(encoder.getEncodingInCache());
-    meta.setEncodingOnDisk(encoder.getEncodingOnDisk());
+    HFileContext meta = new HFileContextBuilder().withCompressionAlgo(compress)
+        .withBytesPerCheckSum(CKBYTES).withChecksumType(ChecksumType.NULL)
+        .withBlockSize(DATA_BLOCK_SIZE).withDataBlockEncodingInCache(encoder.getEncodingInCache())
+        .withDataBlockEncodingOnDisk(encoder.getEncodingOnDisk()).build();
     StoreFile.Writer sfw = new StoreFile.WriterBuilder(conf, cacheConf, fs)
         .withOutputDir(storeFileParentDir).withComparator(KeyValue.COMPARATOR)
         .withFileContext(meta)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestChecksum.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestChecksum.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestChecksum.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestChecksum.java Wed Oct  9 11:21:03 2013
@@ -19,11 +19,13 @@
  */
 package org.apache.hadoop.hbase.io.hfile;
 
-import static org.junit.Assert.*;
+import static org.apache.hadoop.hbase.io.compress.Compression.Algorithm.GZ;
+import static org.apache.hadoop.hbase.io.compress.Compression.Algorithm.NONE;
+import static org.junit.Assert.assertEquals;
 
 import java.io.ByteArrayInputStream;
-import java.io.DataOutputStream;
 import java.io.DataInputStream;
+import java.io.DataOutputStream;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 
@@ -37,14 +39,9 @@ import org.apache.hadoop.hbase.HBaseTest
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.SmallTests;
 import org.apache.hadoop.hbase.fs.HFileSystem;
-import org.apache.hadoop.hbase.io.compress.Compression;
-import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
-import org.apache.hadoop.hbase.io.hfile.HFileContext;
 import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper;
+import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.util.ChecksumType;
-
-import static org.apache.hadoop.hbase.io.compress.Compression.Algorithm.*;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -92,12 +89,13 @@ public class TestChecksum {
         Path path = new Path(TEST_UTIL.getDataTestDir(), "blocks_v2_"
             + algo);
         FSDataOutputStream os = fs.create(path);
-        HFileContext meta = new HFileContext();
-        meta.setCompressAlgo(algo);
-        meta.setIncludesMvcc(true);
-        meta.setIncludesTags(useTags);
-        meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
-        meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
+        HFileContext meta = new HFileContextBuilder()
+                            .withCompressionAlgo(algo)
+                            .withIncludesMvcc(true)
+                            .withIncludesTags(useTags)
+                            .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                            .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                            .build();
         HFileBlock.Writer hbw = new HFileBlock.Writer(null, meta);
         long totalSize = 0;
         for (int blockId = 0; blockId < 2; ++blockId) {
@@ -114,11 +112,12 @@ public class TestChecksum {
 
         // Do a read that purposely introduces checksum verification failures.
         FSDataInputStreamWrapper is = new FSDataInputStreamWrapper(fs, path);
-        meta = new HFileContext();
-        meta.setCompressAlgo(algo);
-        meta.setIncludesMvcc(true);
-        meta.setIncludesTags(useTags);
-        meta.setUsesHBaseChecksum(true);
+        meta = new HFileContextBuilder()
+              .withCompressionAlgo(algo)
+              .withIncludesMvcc(true)
+              .withIncludesTags(useTags)
+              .withHBaseCheckSum(true)
+              .build();
         HFileBlock.FSReader hbr = new FSReaderV2Test(is, totalSize, fs, path, meta);
         HFileBlock b = hbr.readBlockData(0, -1, -1, pread);
         b.sanityCheck();
@@ -197,13 +196,14 @@ public class TestChecksum {
         Path path = new Path(TEST_UTIL.getDataTestDir(), "checksumChunk_" + 
                              algo + bytesPerChecksum);
         FSDataOutputStream os = fs.create(path);
-        HFileContext meta = new HFileContext();
-        meta.setCompressAlgo(algo);
-        meta.setIncludesMvcc(true);
-        meta.setIncludesTags(useTags);
-        meta.setUsesHBaseChecksum(true);
-        meta.setBytesPerChecksum(bytesPerChecksum);
-        meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
+        HFileContext meta = new HFileContextBuilder()
+                            .withCompressionAlgo(algo)
+                            .withIncludesMvcc(true)
+                            .withIncludesTags(useTags)
+                            .withHBaseCheckSum(true)
+                            .withBytesPerCheckSum(bytesPerChecksum)
+                            .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                            .build();
         HFileBlock.Writer hbw = new HFileBlock.Writer(null,
            meta);
 
@@ -236,12 +236,13 @@ public class TestChecksum {
         // Read data back from file.
         FSDataInputStream is = fs.open(path);
         FSDataInputStream nochecksum = hfs.getNoChecksumFs().open(path);
-        meta = new HFileContext();
-        meta.setCompressAlgo(algo);
-        meta.setIncludesMvcc(true);
-        meta.setIncludesTags(useTags);
-        meta.setUsesHBaseChecksum(true);
-        meta.setBytesPerChecksum(bytesPerChecksum);
+        meta = new HFileContextBuilder()
+               .withCompressionAlgo(algo)
+               .withIncludesMvcc(true)
+               .withIncludesTags(useTags)
+               .withHBaseCheckSum(true)
+               .withBytesPerCheckSum(bytesPerChecksum)
+               .build();
         HFileBlock.FSReader hbr = new HFileBlock.FSReaderV2(new FSDataInputStreamWrapper(
             is, nochecksum), totalSize, hfs, path, meta);
         HFileBlock b = hbr.readBlockData(0, -1, -1, pread);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java Wed Oct  9 11:21:03 2013
@@ -83,8 +83,7 @@ public class TestHFile extends HBaseTest
   public void testEmptyHFile() throws IOException {
     if (cacheConf == null) cacheConf = new CacheConfig(conf);
     Path f = new Path(ROOT_DIR, getName());
-    HFileContext context = new HFileContext();
-    context.setIncludesTags(false);
+    HFileContext context = new HFileContextBuilder().withIncludesTags(false).build();
     Writer w =
         HFile.getWriterFactory(conf, cacheConf).withPath(fs, f).withFileContext(context).create();
     w.close();
@@ -133,7 +132,7 @@ public class TestHFile extends HBaseTest
   public void testCorruptTruncatedHFile() throws IOException {
     if (cacheConf == null) cacheConf = new CacheConfig(conf);
     Path f = new Path(ROOT_DIR, getName());
-    HFileContext  context = new HFileContext();
+    HFileContext  context = new HFileContextBuilder().build();
     Writer w = HFile.getWriterFactory(conf, cacheConf).withPath(this.fs, f)
         .withFileContext(context).create();
     writeSomeRecords(w, 0, 100, false);
@@ -224,9 +223,10 @@ public class TestHFile extends HBaseTest
     if (cacheConf == null) cacheConf = new CacheConfig(conf);
     Path ncTFile = new Path(ROOT_DIR, "basic.hfile." + codec.toString() + useTags);
     FSDataOutputStream fout = createFSOutput(ncTFile);
-    HFileContext meta = new HFileContext();
-    meta.setBlocksize(minBlockSize);
-    meta.setCompressAlgo(AbstractHFileWriter.compressionByName(codec));
+    HFileContext meta = new HFileContextBuilder()
+                        .withBlockSize(minBlockSize)
+                        .withCompressionAlgo(AbstractHFileWriter.compressionByName(codec))
+                        .build();
     Writer writer = HFile.getWriterFactory(conf, cacheConf)
         .withOutputStream(fout)
         .withFileContext(meta)
@@ -313,9 +313,9 @@ public class TestHFile extends HBaseTest
     if (cacheConf == null) cacheConf = new CacheConfig(conf);
     Path mFile = new Path(ROOT_DIR, "meta.hfile");
     FSDataOutputStream fout = createFSOutput(mFile);
-    HFileContext meta = new HFileContext();
-    meta.setCompressAlgo(AbstractHFileWriter.compressionByName(compress));
-    meta.setBlocksize(minBlockSize);
+    HFileContext meta = new HFileContextBuilder()
+                        .withCompressionAlgo(AbstractHFileWriter.compressionByName(compress))
+                        .withBlockSize(minBlockSize).build();
     Writer writer = HFile.getWriterFactory(conf, cacheConf)
         .withOutputStream(fout)
         .withFileContext(meta)
@@ -347,9 +347,8 @@ public class TestHFile extends HBaseTest
         HBaseTestingUtility.COMPRESSION_ALGORITHMS) {
       Path mFile = new Path(ROOT_DIR, "nometa_" + compressAlgo + ".hfile");
       FSDataOutputStream fout = createFSOutput(mFile);
-      HFileContext meta = new HFileContext();
-      meta.setCompressAlgo((compressAlgo));
-      meta.setBlocksize(minBlockSize);
+      HFileContext meta = new HFileContextBuilder().withCompressionAlgo(compressAlgo)
+                          .withBlockSize(minBlockSize).build();
       Writer writer = HFile.getWriterFactory(conf, cacheConf)
           .withOutputStream(fout)
           .withFileContext(meta)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java Wed Oct  9 11:21:03 2013
@@ -218,12 +218,13 @@ public class TestHFileBlock {
   static HFileBlock.Writer createTestV2Block(Compression.Algorithm algo,
       boolean includesMemstoreTS, boolean includesTag) throws IOException {
     final BlockType blockType = BlockType.DATA;
-    HFileContext meta = new HFileContext();
-    meta.setCompressAlgo(algo);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(includesTag);
-    meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
-    meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withCompressionAlgo(algo)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(includesTag)
+                        .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                        .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                        .build();
     HFileBlock.Writer hbw = new HFileBlock.Writer(null, meta);
     DataOutputStream dos = hbw.startWriting(blockType);
     writeTestBlockContents(dos);
@@ -301,12 +302,13 @@ public class TestHFileBlock {
         Path path = new Path(TEST_UTIL.getDataTestDir(), "blocks_v2_"
             + algo);
         FSDataOutputStream os = fs.create(path);
-        HFileContext meta = new HFileContext();
-        meta.setCompressAlgo(algo);
-        meta.setIncludesMvcc(includesMemstoreTS);
-        meta.setIncludesTags(includesTag);
-        meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
-        meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
+        HFileContext meta = new HFileContextBuilder()
+                           .withCompressionAlgo(algo)
+                           .withIncludesMvcc(includesMemstoreTS)
+                           .withIncludesTags(includesTag)
+                           .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                           .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                           .build();
         HFileBlock.Writer hbw = new HFileBlock.Writer(null,
            meta);
         long totalSize = 0;
@@ -320,11 +322,11 @@ public class TestHFileBlock {
         os.close();
 
         FSDataInputStream is = fs.open(path);
-        meta = new HFileContext();
-        meta.setUsesHBaseChecksum(true);
-        meta.setIncludesMvcc(includesMemstoreTS);
-        meta.setIncludesTags(includesTag);
-        meta.setCompressAlgo(algo);
+        meta = new HFileContextBuilder()
+        .withHBaseCheckSum(true)
+        .withIncludesMvcc(includesMemstoreTS)
+        .withIncludesTags(includesTag)
+        .withCompressionAlgo(algo).build();
         HFileBlock.FSReader hbr = new HFileBlock.FSReaderV2(is, totalSize, meta);
         HFileBlock b = hbr.readBlockData(0, -1, -1, pread);
         is.close();
@@ -383,12 +385,13 @@ public class TestHFileBlock {
           FSDataOutputStream os = fs.create(path);
           HFileDataBlockEncoder dataBlockEncoder =
               new HFileDataBlockEncoderImpl(encoding);
-          HFileContext meta = new HFileContext();
-          meta.setCompressAlgo(algo);
-          meta.setIncludesMvcc(includesMemstoreTS);
-          meta.setIncludesTags(includesTag);
-          meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
-          meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
+          HFileContext meta = new HFileContextBuilder()
+                              .withCompressionAlgo(algo)
+                              .withIncludesMvcc(includesMemstoreTS)
+                              .withIncludesTags(includesTag)
+                              .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                              .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                              .build();
           HFileBlock.Writer hbw = new HFileBlock.Writer(dataBlockEncoder,
              meta);
           long totalSize = 0;
@@ -404,11 +407,12 @@ public class TestHFileBlock {
           os.close();
 
           FSDataInputStream is = fs.open(path);
-          meta = new HFileContext();
-          meta.setUsesHBaseChecksum(true);
-          meta.setIncludesMvcc(includesMemstoreTS);
-          meta.setIncludesTags(includesTag);
-          meta.setCompressAlgo(algo);
+          meta = new HFileContextBuilder()
+                .withHBaseCheckSum(true)
+                .withCompressionAlgo(algo)
+                .withIncludesMvcc(includesMemstoreTS)
+                .withIncludesTags(includesTag)
+                .build();
           HFileBlock.FSReaderV2 hbr = new HFileBlock.FSReaderV2(is, totalSize, meta);
           hbr.setDataBlockEncoder(dataBlockEncoder);
           hbr.setIncludesMemstoreTS(includesMemstoreTS);
@@ -457,10 +461,11 @@ public class TestHFileBlock {
     DataBlockEncoder encoder = encoding.getEncoder();
     int headerLen = dummyHeader.length;
     byte[] encodedResultWithHeader = null;
-    HFileContext meta = new HFileContext();
-    meta.setCompressAlgo(algo);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(useTag);
+    HFileContext meta = new HFileContextBuilder()
+                        .withCompressionAlgo(algo)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(useTag)
+                        .build();
     if (encoder != null) {
       HFileBlockEncodingContext encodingCtx = encoder.newDataBlockEncodingContext(encoding,
           dummyHeader, meta);
@@ -550,11 +555,11 @@ public class TestHFileBlock {
               expectedPrevOffsets, expectedTypes, expectedContents);
 
           FSDataInputStream is = fs.open(path);
-          HFileContext meta = new HFileContext();
-          meta.setUsesHBaseChecksum(true);
-          meta.setIncludesMvcc(includesMemstoreTS);
-          meta.setIncludesTags(includesTag);
-          meta.setCompressAlgo(algo);
+          HFileContext meta = new HFileContextBuilder()
+                              .withHBaseCheckSum(true)
+                              .withIncludesMvcc(includesMemstoreTS)
+                              .withIncludesTags(includesTag)
+                              .withCompressionAlgo(algo).build();
           HFileBlock.FSReader hbr = new HFileBlock.FSReaderV2(is, totalSize, meta);
           long curOffset = 0;
           for (int i = 0; i < NUM_TEST_BLOCKS; ++i) {
@@ -733,11 +738,12 @@ public class TestHFileBlock {
       writeBlocks(rand, compressAlgo, path, offsets, null, types, null);
       FSDataInputStream is = fs.open(path);
       long fileSize = fs.getFileStatus(path).getLen();
-      HFileContext meta = new HFileContext();
-      meta.setUsesHBaseChecksum(true);
-      meta.setIncludesMvcc(includesMemstoreTS);
-      meta.setIncludesTags(includesTag);
-      meta.setCompressAlgo(compressAlgo);
+      HFileContext meta = new HFileContextBuilder()
+                          .withHBaseCheckSum(true)
+                          .withIncludesMvcc(includesMemstoreTS)
+                          .withIncludesTags(includesTag)
+                          .withCompressionAlgo(compressAlgo)
+                          .build();
       HFileBlock.FSReader hbr = new HFileBlock.FSReaderV2(is, fileSize, meta);
 
       Executor exec = Executors.newFixedThreadPool(NUM_READER_THREADS);
@@ -769,13 +775,14 @@ public class TestHFileBlock {
   ) throws IOException {
     boolean cacheOnWrite = expectedContents != null;
     FSDataOutputStream os = fs.create(path);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(true);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(includesTag);
-    meta.setCompressAlgo(compressAlgo);
-    meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
-    meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(true)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(includesTag)
+                        .withCompressionAlgo(compressAlgo)
+                        .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                        .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                        .build();
     HFileBlock.Writer hbw = new HFileBlock.Writer(null, meta);
     Map<BlockType, Long> prevOffsetByType = new HashMap<BlockType, Long>();
     long totalSize = 0;
@@ -839,14 +846,13 @@ public class TestHFileBlock {
     for (int size : new int[] { 100, 256, 12345 }) {
       byte[] byteArr = new byte[HConstants.HFILEBLOCK_HEADER_SIZE + size];
       ByteBuffer buf = ByteBuffer.wrap(byteArr, 0, size);
-      HFileContext meta = new HFileContext();
-      meta.setIncludesMvcc(includesMemstoreTS);
-      meta.setIncludesTags(includesTag);
-      meta.setUsesHBaseChecksum(false);
-      meta.setCompressAlgo(Algorithm.NONE);
-      meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
-      meta.setChecksumType(ChecksumType.NULL);
-      meta.setBytesPerChecksum(0);
+      HFileContext meta = new HFileContextBuilder()
+                          .withIncludesMvcc(includesMemstoreTS)
+                          .withIncludesTags(includesTag)
+                          .withHBaseCheckSum(false)
+                          .withCompressionAlgo(Algorithm.NONE)
+                          .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                          .withChecksumType(ChecksumType.NULL).build();
       HFileBlock block = new HFileBlock(BlockType.DATA, size, size, -1, buf,
           HFileBlock.FILL_HEADER, -1, 
           0, meta);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockCompatibility.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockCompatibility.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockCompatibility.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockCompatibility.java Wed Oct  9 11:21:03 2013
@@ -42,13 +42,12 @@ import org.apache.hadoop.hbase.HBaseTest
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.SmallTests;
 import org.apache.hadoop.hbase.fs.HFileSystem;
+import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper;
 import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
 import org.apache.hadoop.hbase.io.encoding.HFileBlockDefaultEncodingContext;
 import org.apache.hadoop.hbase.io.encoding.HFileBlockEncodingContext;
-import org.apache.hadoop.hbase.io.hfile.HFileContext;
 import org.apache.hadoop.hbase.io.hfile.HFileBlock.BlockWritable;
-import org.apache.hadoop.hbase.io.FSDataInputStreamWrapper;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.util.ChecksumType;
 import org.apache.hadoop.io.compress.Compressor;
@@ -198,11 +197,12 @@ public class TestHFileBlockCompatibility
         os.close();
 
         FSDataInputStream is = fs.open(path);
-        HFileContext meta = new HFileContext();
-        meta.setUsesHBaseChecksum(false);
-        meta.setIncludesMvcc(includesMemstoreTS);
-        meta.setIncludesTags(includesTag);
-        meta.setCompressAlgo(algo);
+        HFileContext meta = new HFileContextBuilder()
+                           .withHBaseCheckSum(false)
+                           .withIncludesMvcc(includesMemstoreTS)
+                           .withIncludesTags(includesTag)
+                           .withCompressionAlgo(algo)
+                           .build();
         HFileBlock.FSReader hbr = new HFileBlock.FSReaderV2(new FSDataInputStreamWrapper(is),
             totalSize, fs, path, meta);
         HFileBlock b = hbr.readBlockData(0, -1, -1, pread);
@@ -280,11 +280,12 @@ public class TestHFileBlockCompatibility
           os.close();
 
           FSDataInputStream is = fs.open(path);
-          HFileContext meta = new HFileContext();
-          meta.setUsesHBaseChecksum(false);
-          meta.setIncludesMvcc(includesMemstoreTS);
-          meta.setIncludesTags(includesTag);
-          meta.setCompressAlgo(algo);
+          HFileContext meta = new HFileContextBuilder()
+                              .withHBaseCheckSum(false)
+                              .withIncludesMvcc(includesMemstoreTS)
+                              .withIncludesTags(includesTag)
+                              .withCompressionAlgo(algo)
+                              .build();
           HFileBlock.FSReaderV2 hbr = new HFileBlock.FSReaderV2(new FSDataInputStreamWrapper(is),
               totalSize, fs, path, meta);
           hbr.setDataBlockEncoder(dataBlockEncoder);
@@ -420,12 +421,12 @@ public class TestHFileBlockCompatibility
       this.dataBlockEncoder = dataBlockEncoder != null
           ? dataBlockEncoder : NoOpDataBlockEncoder.INSTANCE;
 
-      meta = new HFileContext();
-      meta.setUsesHBaseChecksum(false);
-      meta.setIncludesMvcc(includesMemstoreTS);
-      meta.setIncludesTags(includesTag);
-      meta.setCompressAlgo(compressionAlgorithm);
-      
+      meta = new HFileContextBuilder()
+              .withHBaseCheckSum(false)
+              .withIncludesMvcc(includesMemstoreTS)
+              .withIncludesTags(includesTag)
+              .withCompressionAlgo(compressionAlgorithm)
+              .build();
       defaultBlockEncodingCtx = new HFileBlockDefaultEncodingContext(null, DUMMY_HEADER, meta);
       dataBlockEncodingCtx =
           this.dataBlockEncoder.newOnDiskDataBlockEncodingContext(
@@ -730,9 +731,11 @@ public class TestHFileBlockCompatibility
      * Creates a new HFileBlock.
      */
     public HFileBlock getBlockForCaching() {
-      meta.setUsesHBaseChecksum(false);
-      meta.setChecksumType(ChecksumType.NULL);
-      meta.setBytesPerChecksum(0);
+      HFileContext meta = new HFileContextBuilder()
+             .withHBaseCheckSum(false)
+             .withChecksumType(ChecksumType.NULL)
+             .withBytesPerCheckSum(0)
+             .build();
       return new HFileBlock(blockType, getOnDiskSizeWithoutHeader(),
           getUncompressedSizeWithoutHeader(), prevOffset,
           getUncompressedBufferWithHeader(), DONT_FILL_HEADER, startOffset, 

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlockIndex.java Wed Oct  9 11:21:03 2013
@@ -188,11 +188,12 @@ public class TestHFileBlockIndex {
     LOG.info("Size of " + path + ": " + fileSize);
 
     FSDataInputStream istream = fs.open(path);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(true);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(useTags);
-    meta.setCompressAlgo(compr);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(true)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(useTags)
+                        .withCompressionAlgo(compr)
+                        .build();
     HFileBlock.FSReader blockReader = new HFileBlock.FSReaderV2(istream, fs.getFileStatus(path)
         .getLen(), meta);
 
@@ -241,13 +242,14 @@ public class TestHFileBlockIndex {
 
   private void writeWholeIndex(boolean useTags) throws IOException {
     assertEquals(0, keys.size());
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(true);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(useTags);
-    meta.setCompressAlgo(compr);
-    meta.setChecksumType(HFile.DEFAULT_CHECKSUM_TYPE);
-    meta.setBytesPerChecksum(HFile.DEFAULT_BYTES_PER_CHECKSUM);
+    HFileContext meta = new HFileContextBuilder()
+                        .withHBaseCheckSum(true)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(useTags)
+                        .withCompressionAlgo(compr)
+                        .withChecksumType(HFile.DEFAULT_CHECKSUM_TYPE)
+                        .withBytesPerCheckSum(HFile.DEFAULT_BYTES_PER_CHECKSUM)
+                        .build();
     HFileBlock.Writer hbw = new HFileBlock.Writer(null,
         meta);
     FSDataOutputStream outputStream = fs.create(path);
@@ -516,9 +518,10 @@ public class TestHFileBlockIndex {
 
       // Write the HFile
       {
-        HFileContext meta = new HFileContext();
-        meta.setBlocksize(SMALL_BLOCK_SIZE);
-        meta.setCompressAlgo(compr);
+        HFileContext meta = new HFileContextBuilder()
+                            .withBlockSize(SMALL_BLOCK_SIZE)
+                            .withCompressionAlgo(compr)
+                            .build();
         HFile.Writer writer =
             HFile.getWriterFactory(conf, cacheConf)
                 .withPath(fs, hfilePath)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileDataBlockEncoder.java Wed Oct  9 11:21:03 2013
@@ -30,7 +30,6 @@ import org.apache.hadoop.hbase.HBaseTest
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.SmallTests;
 import org.apache.hadoop.hbase.io.HeapSize;
-import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
 import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding;
 import org.apache.hadoop.hbase.io.encoding.HFileBlockDefaultEncodingContext;
@@ -127,13 +126,12 @@ public class TestHFileDataBlockEncoder {
     buf.position(headerSize);
     keyValues.rewind();
     buf.put(keyValues);
-    HFileContext meta = new HFileContext();
-    meta.setUsesHBaseChecksum(false);
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(useTags);
-    meta.setCompressAlgo(Compression.Algorithm.NONE);
-    meta.setBlocksize(0);
-    meta.setChecksumType(ChecksumType.NULL);
+    HFileContext meta = new HFileContextBuilder().withHBaseCheckSum(false)
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(useTags)
+                        .withBlockSize(0)
+                        .withChecksumType(ChecksumType.NULL)
+                        .build();
     HFileBlock block = new HFileBlock(BlockType.DATA, size, size, -1, buf,
         HFileBlock.FILL_HEADER, 0,
         0, meta);
@@ -203,13 +201,14 @@ public class TestHFileDataBlockEncoder {
     buf.position(HConstants.HFILEBLOCK_HEADER_SIZE);
     keyValues.rewind();
     buf.put(keyValues);
-    HFileContext meta = new HFileContext();
-    meta.setIncludesMvcc(includesMemstoreTS);
-    meta.setIncludesTags(useTag);
-    meta.setUsesHBaseChecksum(true);
-    meta.setCompressAlgo(Algorithm.NONE);
-    meta.setBlocksize(0);
-    meta.setChecksumType(ChecksumType.NULL);
+    HFileContext meta = new HFileContextBuilder()
+                        .withIncludesMvcc(includesMemstoreTS)
+                        .withIncludesTags(useTag)
+                        .withHBaseCheckSum(true)
+                        .withCompressionAlgo(Algorithm.NONE)
+                        .withBlockSize(0)
+                        .withChecksumType(ChecksumType.NULL)
+                        .build();
     HFileBlock b = new HFileBlock(BlockType.DATA, size, size, -1, buf,
         HFileBlock.FILL_HEADER, 0, 
          0, meta);

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileInlineToRootChunkConversion.java Wed Oct  9 11:21:03 2013
@@ -23,10 +23,10 @@ import org.apache.hadoop.conf.Configurat
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.util.Bytes;
-import org.junit.experimental.categories.Category;
 import org.apache.hadoop.hbase.SmallTests;
+import org.apache.hadoop.hbase.util.Bytes;
 import org.junit.Test;
+import org.junit.experimental.categories.Category;
 
 /**
  * Test a case when an inline index chunk is converted to a root one. This reproduces the bug in
@@ -52,8 +52,7 @@ public class TestHFileInlineToRootChunkC
     FileSystem fs = FileSystem.get(conf);
     CacheConfig cacheConf = new CacheConfig(conf);
     conf.setInt(HFileBlockIndex.MAX_CHUNK_SIZE_KEY, maxChunkSize); 
-    HFileContext context = new HFileContext();
-    context.setBlocksize(16);
+    HFileContext context = new HFileContextBuilder().withBlockSize(16).build();
     HFileWriterV2 hfw =
         (HFileWriterV2) new HFileWriterV2.WriterFactoryV2(conf, cacheConf)
             .withFileContext(context)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFilePerformance.java Wed Oct  9 11:21:03 2013
@@ -161,9 +161,9 @@ public class TestHFilePerformance extend
     FSDataOutputStream fout =  createFSOutput(path);
 
     if ("HFile".equals(fileType)){
-        HFileContext meta = new HFileContext();
-        meta.setCompressAlgo(AbstractHFileWriter.compressionByName(codecName));
-        meta.setBlocksize(minBlockSize);
+        HFileContext meta = new HFileContextBuilder()
+                            .withCompressionAlgo(AbstractHFileWriter.compressionByName(codecName))
+                            .withBlockSize(minBlockSize).build();
         System.out.println("HFile write method: ");
         HFile.Writer writer = HFile.getWriterFactoryNoCache(conf)
             .withOutputStream(fout)

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java?rev=1530567&r1=1530566&r2=1530567&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileSeek.java Wed Oct  9 11:21:03 2013
@@ -127,9 +127,10 @@ public class TestHFileSeek extends TestC
     long totalBytes = 0;
     FSDataOutputStream fout = createFSOutput(path, fs);
     try {
-      HFileContext context = new HFileContext();
-      context.setBlocksize(options.minBlockSize);
-      context.setCompressAlgo(AbstractHFileWriter.compressionByName(options.compress));
+      HFileContext context = new HFileContextBuilder()
+                            .withBlockSize(options.minBlockSize)
+                            .withCompressionAlgo(AbstractHFileWriter.compressionByName(options.compress))
+                            .build();
       Writer writer = HFile.getWriterFactoryNoCache(conf)
           .withOutputStream(fout)
           .withFileContext(context)