Repository: hbase
Updated Branches:
  refs/heads/master 25b5098da -> 977f86743


http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
index ca063bc..232d1f7 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV2.java
@@ -38,9 +38,9 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataInputStream;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 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.compress.Compression.Algorithm;
 import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;
@@ -146,13 +146,13 @@ public class TestHFileWriterV2 {
     
     HFileBlock.FSReader blockReader = new HFileBlock.FSReaderImpl(fsdis, 
fileSize, meta);
     // Comparator class name is stored in the trailer in version 2.
-    KVComparator comparator = trailer.createComparator();
+    CellComparator comparator = trailer.createComparator();
     HFileBlockIndex.BlockIndexReader dataBlockIndexReader =
         new HFileBlockIndex.BlockIndexReader(comparator,
             trailer.getNumDataIndexLevels());
     HFileBlockIndex.BlockIndexReader metaBlockIndexReader =
         new HFileBlockIndex.BlockIndexReader(
-            KeyValue.RAW_COMPARATOR, 1);
+            null, 1);
 
     HFileBlock.BlockIterator blockIter = blockReader.blockRange(
         trailer.getLoadOnOpenDataOffset(),

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java
index 2ca9273..37f83b1 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileWriterV3.java
@@ -38,11 +38,12 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FSDataInputStream;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.Tag;
+import org.apache.hadoop.hbase.KeyValue.Type;
 import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.io.compress.Compression.Algorithm;
 import org.apache.hadoop.hbase.io.hfile.HFile.FileInfo;
@@ -122,7 +123,7 @@ public class TestHFileWriterV3 {
     HFile.Writer writer = new HFileWriterFactory(conf, new CacheConfig(conf))
             .withPath(fs, hfilePath)
             .withFileContext(context)
-            .withComparator(KeyValue.COMPARATOR)
+            .withComparator(CellComparator.COMPARATOR)
             .create();
 
     Random rand = new Random(9713312); // Just a fixed seed.
@@ -176,13 +177,13 @@ public class TestHFileWriterV3 {
     HFileBlock.FSReader blockReader =
         new HFileBlock.FSReaderImpl(fsdis, fileSize, meta);
  // Comparator class name is stored in the trailer in version 2.
-    KVComparator comparator = trailer.createComparator();
+    CellComparator comparator = trailer.createComparator();
     HFileBlockIndex.BlockIndexReader dataBlockIndexReader =
         new HFileBlockIndex.BlockIndexReader(comparator,
             trailer.getNumDataIndexLevels());
     HFileBlockIndex.BlockIndexReader metaBlockIndexReader =
         new HFileBlockIndex.BlockIndexReader(
-            KeyValue.RAW_COMPARATOR, 1);
+            null, 1);
 
     HFileBlock.BlockIterator blockIter = blockReader.blockRange(
         trailer.getLoadOnOpenDataOffset(),

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java
index 6a12616..dbc5dd0 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestPrefetch.java
@@ -27,6 +27,7 @@ import java.util.Random;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.fs.HFileSystem;
@@ -106,7 +107,7 @@ public class TestPrefetch {
       .build();
     StoreFile.Writer sfw = new StoreFile.WriterBuilder(conf, cacheConf, fs)
       .withOutputDir(storeFileParentDir)
-      .withComparator(KeyValue.COMPARATOR)
+      .withComparator(CellComparator.COMPARATOR)
       .withFileContext(meta)
       .build();
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java
index 9d7de02..a17368c 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestReseekTo.java
@@ -26,6 +26,7 @@ import java.util.List;
 
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
@@ -64,7 +65,7 @@ public class TestReseekTo {
             .withOutputStream(fout)
             .withFileContext(context)
             // NOTE: This test is dependent on this deprecated nonstandard 
comparator
-            .withComparator(KeyValue.COMPARATOR)
+            .withComparator(CellComparator.COMPARATOR)
             .create();
     int numberOfKeys = 1000;
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
index 69bc09d..ca3afaf 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/io/hfile/TestSeekTo.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import org.apache.hadoop.fs.FSDataOutputStream;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestCase;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
@@ -79,7 +80,7 @@ public class TestSeekTo extends HBaseTestCase {
         .withIncludesTags(true).build();
     HFile.Writer writer = 
HFile.getWriterFactoryNoCache(conf).withOutputStream(fout)
         .withFileContext(context)
-        .withComparator(KeyValue.COMPARATOR).create();
+        .withComparator(CellComparator.COMPARATOR).create();
     // 4 bytes * 3 * 2 for each key/value +
     // 3 for keys, 15 for values = 42 (woot)
     writer.append(toKV("c", tagUsage));

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/KeyValueScanFixture.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/KeyValueScanFixture.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/KeyValueScanFixture.java
index 53c55be..3f87a00 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/KeyValueScanFixture.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/KeyValueScanFixture.java
@@ -19,13 +19,13 @@
 
 package org.apache.hadoop.hbase.regionserver;
 
-import org.apache.hadoop.hbase.regionserver.KeyValueScanner;
-import org.apache.hadoop.hbase.util.CollectionBackedScanner;
-import org.apache.hadoop.hbase.KeyValue;
-
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.hadoop.hbase.CellComparator;
+import org.apache.hadoop.hbase.KeyValue;
+import org.apache.hadoop.hbase.util.CollectionBackedScanner;
+
 /**
  * A fixture that implements and presents a KeyValueScanner.
  * It takes a list of key/values which is then sorted according
@@ -33,7 +33,7 @@ import java.util.List;
  * to be a store file scanner.
  */
 public class KeyValueScanFixture extends CollectionBackedScanner {
-  public KeyValueScanFixture(KeyValue.KVComparator comparator,
+  public KeyValueScanFixture(CellComparator comparator,
                              KeyValue... incData) {
     super(comparator, incData);
   }
@@ -41,7 +41,7 @@ public class KeyValueScanFixture extends 
CollectionBackedScanner {
   public static List<KeyValueScanner> scanFixture(KeyValue[] ... kvArrays) {
     ArrayList<KeyValueScanner> scanners = new ArrayList<KeyValueScanner>();
     for (KeyValue [] kvs : kvArrays) {
-      scanners.add(new KeyValueScanFixture(KeyValue.COMPARATOR, kvs));
+      scanners.add(new KeyValueScanFixture(CellComparator.COMPARATOR, kvs));
     }
     return scanners;
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MockStoreFile.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MockStoreFile.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MockStoreFile.java
index 3a12674..f99226f 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MockStoreFile.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MockStoreFile.java
@@ -23,8 +23,8 @@ import java.util.Map;
 import java.util.TreeMap;
 
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.io.hfile.CacheConfig;
 import org.apache.hadoop.hbase.util.Bytes;
 
@@ -54,7 +54,7 @@ public class MockStoreFile extends StoreFile {
   }
 
   @Override
-  byte[] getFileSplitPoint(KVComparator comparator) throws IOException {
+  byte[] getFileSplitPoint(CellComparator comparator) throws IOException {
     return this.splitPoint;
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
index 9b9db5a..c4e0a42 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCellSkipListSet.java
@@ -24,6 +24,7 @@ import java.util.SortedSet;
 import junit.framework.TestCase;
 
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
@@ -33,7 +34,7 @@ import org.junit.experimental.categories.Category;
 @Category({RegionServerTests.class, SmallTests.class})
 public class TestCellSkipListSet extends TestCase {
   private final CellSkipListSet csls =
-    new CellSkipListSet(KeyValue.COMPARATOR);
+    new CellSkipListSet(CellComparator.COMPARATOR);
 
   protected void setUp() throws Exception {
     super.setUp();

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
index d7b4a04..9bd9099 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestCompoundBloomFilter.java
@@ -36,8 +36,11 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
+import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.KeyValue;
+import org.apache.hadoop.hbase.KeyValueUtil;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
 import org.apache.hadoop.hbase.client.Scan;
@@ -141,7 +144,7 @@ public class TestCompoundBloomFilter {
     List<KeyValue> kvList = new ArrayList<KeyValue>(n);
     for (int i = 0; i < n; ++i)
       kvList.add(TestHFileWriterV2.randomKeyValue(rand));
-    Collections.sort(kvList, KeyValue.COMPARATOR);
+    Collections.sort(kvList, CellComparator.COMPARATOR);
     return kvList;
   }
 
@@ -315,8 +318,8 @@ public class TestCompoundBloomFilter {
       // Validate the key count in the Bloom filter.
       boolean newKey = true;
       if (prev != null) {
-        newKey = !(bt == BloomType.ROW ? KeyValue.COMPARATOR.matchingRows(kv,
-            prev) : KeyValue.COMPARATOR.matchingRowColumn(kv, prev));
+        newKey = !(bt == BloomType.ROW ? CellUtil.matchingRows(kv,
+            prev) : CellUtil.matchingRowColumn(kv, prev));
       }
       if (newKey)
         ++keyCount;
@@ -354,8 +357,8 @@ public class TestCompoundBloomFilter {
         row, 0, 0);
     byte[] rowColKey = cbfb.createBloomKey(row, 0, row.length,
         qualifier, 0, qualifier.length);
-    KeyValue rowKV = KeyValue.createKeyValueFromKey(rowKey);
-    KeyValue rowColKV = KeyValue.createKeyValueFromKey(rowColKey);
+    KeyValue rowKV = KeyValueUtil.createKeyValueFromKey(rowKey);
+    KeyValue rowColKV = KeyValueUtil.createKeyValueFromKey(rowColKey);
     assertEquals(rowKV.getTimestamp(), rowColKV.getTimestamp());
     assertEquals(Bytes.toStringBinary(rowKV.getRow()),
         Bytes.toStringBinary(rowColKV.getRow()));

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
index 65ae38c..18e3d22 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.java
@@ -34,6 +34,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
@@ -474,7 +475,7 @@ public class TestDefaultMemStore extends TestCase {
   }
 
   public void testMultipleVersionsSimple() throws Exception {
-    DefaultMemStore m = new DefaultMemStore(new Configuration(), 
KeyValue.COMPARATOR);
+    DefaultMemStore m = new DefaultMemStore(new Configuration(), 
CellComparator.COMPARATOR);
     byte [] row = Bytes.toBytes("testRow");
     byte [] family = Bytes.toBytes("testFamily");
     byte [] qf = Bytes.toBytes("testQualifier");
@@ -506,7 +507,7 @@ public class TestDefaultMemStore extends TestCase {
     Thread.sleep(1);
     addRows(this.memstore);
     Cell closestToEmpty = this.memstore.getNextRow(KeyValue.LOWESTKEY);
-    assertTrue(KeyValue.COMPARATOR.compareRows(closestToEmpty,
+    assertTrue(CellComparator.COMPARATOR.compareRows(closestToEmpty,
       new KeyValue(Bytes.toBytes(0), System.currentTimeMillis())) == 0);
     for (int i = 0; i < ROW_COUNT; i++) {
       Cell nr = this.memstore.getNextRow(new KeyValue(Bytes.toBytes(i),
@@ -514,7 +515,7 @@ public class TestDefaultMemStore extends TestCase {
       if (i + 1 == ROW_COUNT) {
         assertEquals(nr, null);
       } else {
-        assertTrue(KeyValue.COMPARATOR.compareRows(nr,
+        assertTrue(CellComparator.COMPARATOR.compareRows(nr,
           new KeyValue(Bytes.toBytes(i + 1), System.currentTimeMillis())) == 
0);
       }
     }
@@ -533,8 +534,7 @@ public class TestDefaultMemStore extends TestCase {
         byte[] row1 = Bytes.toBytes(rowId);
         assertTrue(
             "Row name",
-            KeyValue.COMPARATOR.compareRows(left.getRowArray(), 
left.getRowOffset(),
-                (int) left.getRowLength(), row1, 0, row1.length) == 0);
+            CellComparator.COMPARATOR.compareRows(left, row1, 0, row1.length) 
== 0);
         assertEquals("Count of columns", QUALIFIER_COUNT, results.size());
         List<Cell> row = new ArrayList<Cell>();
         for (Cell kv : results) {
@@ -786,7 +786,7 @@ public class TestDefaultMemStore extends TestCase {
   public void testUpsertMSLAB() throws Exception {
     Configuration conf = HBaseConfiguration.create();
     conf.setBoolean(DefaultMemStore.USEMSLAB_KEY, true);
-    memstore = new DefaultMemStore(conf, KeyValue.COMPARATOR);
+    memstore = new DefaultMemStore(conf, CellComparator.COMPARATOR);
 
     int ROW_SIZE = 2048;
     byte[] qualifier = new byte[ROW_SIZE - 4];
@@ -827,7 +827,7 @@ public class TestDefaultMemStore extends TestCase {
    */
   public void testUpsertMemstoreSize() throws Exception {
     Configuration conf = HBaseConfiguration.create();
-    memstore = new DefaultMemStore(conf, KeyValue.COMPARATOR);
+    memstore = new DefaultMemStore(conf, CellComparator.COMPARATOR);
     long oldSize = memstore.size.get();
 
     List<Cell> l = new ArrayList<Cell>();

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.java
index c185075..b9982aa 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.java
@@ -20,8 +20,8 @@
 package org.apache.hadoop.hbase.regionserver;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import 
org.apache.hadoop.hbase.regionserver.compactions.RatioBasedCompactionPolicy;
@@ -60,7 +60,7 @@ public class TestDefaultStoreEngine {
     conf.set(DefaultStoreEngine.DEFAULT_STORE_FLUSHER_CLASS_KEY,
         DummyStoreFlusher.class.getName());
     Store mockStore = Mockito.mock(Store.class);
-    StoreEngine<?, ?, ?, ?> se = StoreEngine.create(mockStore, conf, new 
KVComparator());
+    StoreEngine<?, ?, ?, ?> se = StoreEngine.create(mockStore, conf, 
CellComparator.COMPARATOR);
     Assert.assertTrue(se instanceof DefaultStoreEngine);
     Assert.assertTrue(se.getCompactionPolicy() instanceof 
DummyCompactionPolicy);
     Assert.assertTrue(se.getStoreFlusher() instanceof DummyStoreFlusher);

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java
index 110cd36..418e2fc 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestGetClosestAtOrBefore.java
@@ -171,9 +171,9 @@ public class TestGetClosestAtOrBefore extends HBaseTestCase 
{
   }
 
   private byte [] extractRowFromMetaRow(final byte [] b) {
-    int firstDelimiter = KeyValue.getDelimiter(b, 0, b.length,
+    int firstDelimiter = Bytes.searchDelimiterIndex(b, 0, b.length,
       HConstants.DELIMITER);
-    int lastDelimiter = KeyValue.getDelimiterInReverse(b, 0, b.length,
+    int lastDelimiter = Bytes.searchDelimiterIndexInReverse(b, 0, b.length,
       HConstants.DELIMITER);
     int length = lastDelimiter - firstDelimiter - 1;
     byte [] row = new byte[length];

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
index d606495..d46c2e3 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
@@ -2700,7 +2700,7 @@ public class TestHRegion {
       res = new ArrayList<Cell>();
       is.next(res);
       for (int i = 0; i < res.size(); i++) {
-        assertTrue(CellComparator.equalsIgnoreMvccVersion(expected1.get(i), 
res.get(i)));
+        assertTrue(CellUtil.equalsIgnoreMvccVersion(expected1.get(i), 
res.get(i)));
       }
 
       // Result 2
@@ -2711,7 +2711,7 @@ public class TestHRegion {
       res = new ArrayList<Cell>();
       is.next(res);
       for (int i = 0; i < res.size(); i++) {
-        assertTrue(CellComparator.equalsIgnoreMvccVersion(expected2.get(i), 
res.get(i)));
+        assertTrue(CellUtil.equalsIgnoreMvccVersion(expected2.get(i), 
res.get(i)));
       }
     } finally {
       HBaseTestingUtility.closeRegionAndWAL(this.region);
@@ -2833,7 +2833,7 @@ public class TestHRegion {
 
       // Verify result
       for (int i = 0; i < expected.size(); i++) {
-        assertTrue(CellComparator.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
+        assertTrue(CellUtil.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
       }
     } finally {
       HBaseTestingUtility.closeRegionAndWAL(this.region);
@@ -2915,7 +2915,7 @@ public class TestHRegion {
 
       // Verify result
       for (int i = 0; i < expected.size(); i++) {
-        assertTrue(CellComparator.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
+        assertTrue(CellUtil.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
       }
     } finally {
       HBaseTestingUtility.closeRegionAndWAL(this.region);
@@ -3037,7 +3037,7 @@ public class TestHRegion {
 
       // Verify result
       for (int i = 0; i < expected.size(); i++) {
-        assertTrue(CellComparator.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
+        assertTrue(CellUtil.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
       }
     } finally {
       HBaseTestingUtility.closeRegionAndWAL(this.region);
@@ -3164,7 +3164,7 @@ public class TestHRegion {
 
       // Verify result
       for (int i = 0; i < expected.size(); i++) {
-        assertTrue(CellComparator.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
+        assertTrue(CellUtil.equalsIgnoreMvccVersion(expected.get(i), 
actual.get(i)));
       }
     } finally {
       HBaseTestingUtility.closeRegionAndWAL(this.region);

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java
index 86a15ff..0fa904c 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueHeap.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
 import java.util.List;
 
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestCase;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
@@ -108,7 +109,7 @@ public class TestKeyValueHeap extends HBaseTestCase {
 
     //Creating KeyValueHeap
     KeyValueHeap kvh =
-      new KeyValueHeap(scanners, KeyValue.COMPARATOR);
+      new KeyValueHeap(scanners, CellComparator.COMPARATOR);
 
     List<Cell> actual = new ArrayList<Cell>();
     while(kvh.peek() != null){
@@ -126,7 +127,7 @@ public class TestKeyValueHeap extends HBaseTestCase {
 
     //Check if result is sorted according to Comparator
     for(int i=0; i<actual.size()-1; i++){
-      int ret = KeyValue.COMPARATOR.compare(actual.get(i), actual.get(i+1));
+      int ret = CellComparator.COMPARATOR.compare(actual.get(i), 
actual.get(i+1));
       assertTrue(ret < 0);
     }
 
@@ -162,7 +163,7 @@ public class TestKeyValueHeap extends HBaseTestCase {
 
     //Creating KeyValueHeap
     KeyValueHeap kvh =
-      new KeyValueHeap(scanners, KeyValue.COMPARATOR);
+      new KeyValueHeap(scanners, CellComparator.COMPARATOR);
 
     KeyValue seekKv = new KeyValue(row2, fam1, null, null);
     kvh.seek(seekKv);
@@ -208,7 +209,7 @@ public class TestKeyValueHeap extends HBaseTestCase {
     scanners.add(new Scanner(l4));
 
     //Creating KeyValueHeap
-    KeyValueHeap kvh = new KeyValueHeap(scanners, KeyValue.COMPARATOR);
+    KeyValueHeap kvh = new KeyValueHeap(scanners, CellComparator.COMPARATOR);
 
     while(kvh.next() != null);
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
index 7cc1644..a8c2c65 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestKeyValueScanFixture.java
@@ -24,6 +24,7 @@ import java.io.IOException;
 import junit.framework.TestCase;
 
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.KeyValueTestUtil;
 import org.apache.hadoop.hbase.KeyValueUtil;
@@ -46,7 +47,7 @@ public class TestKeyValueScanFixture extends TestCase {
             10, KeyValue.Type.Put, "value-10")
     };
     KeyValueScanner scan = new KeyValueScanFixture(
-        KeyValue.COMPARATOR, kvs);
+        CellComparator.COMPARATOR, kvs);
 
     KeyValue kv = KeyValueUtil.createFirstOnRow(Bytes.toBytes("RowA"));
     // should seek to this:

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
index dfdc4e4..5224647 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
@@ -223,7 +223,7 @@ public class TestMultiColumnScanner {
       region.flush(true);
     }
 
-    Collections.sort(kvs, KeyValue.COMPARATOR);
+    Collections.sort(kvs, CellComparator.COMPARATOR);
     for (int maxVersions = 1; maxVersions <= TIMESTAMPS.length; ++maxVersions) 
{
       for (int columnBitMask = 1; columnBitMask <= MAX_COLUMN_BIT_MASK; 
++columnBitMask) {
         Scan scan = new Scan();
@@ -266,7 +266,7 @@ public class TestMultiColumnScanner {
             assertTrue("Scanner returned additional key/value: " + kv + ", "
                 + queryInfo + deleteInfo + ";", kvPos < kvs.size());
             assertTrue("Scanner returned wrong key/value; " + queryInfo
-                + deleteInfo + ";", 
CellComparator.equalsIgnoreMvccVersion(kvs.get(kvPos), (kv)));
+                + deleteInfo + ";", 
CellUtil.equalsIgnoreMvccVersion(kvs.get(kvPos), (kv)));
             ++kvPos;
             ++numResults;
           }

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
index 2df2f5a..da66af7 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
@@ -27,11 +27,11 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.NavigableSet;
 
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestCase;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeepDeletedCells;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.KeyValue.Type;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
@@ -64,7 +64,7 @@ public class TestQueryMatcher extends HBaseTestCase {
   private Get get;
 
   long ttl = Long.MAX_VALUE;
-  KVComparator rowComparator;
+  CellComparator rowComparator;
   private Scan scan;
 
   @Before
@@ -91,7 +91,7 @@ public class TestQueryMatcher extends HBaseTestCase {
     get.addColumn(fam2, col5);
     this.scan = new Scan(get);
 
-    rowComparator = KeyValue.COMPARATOR;
+    rowComparator = CellComparator.COMPARATOR;
 
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
index 3d651ef..be7f4a2 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRecoveredEdits.java
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.KeyValue;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Get;
 import org.apache.hadoop.hbase.client.Result;
@@ -154,14 +155,15 @@ public class TestRecoveredEdits {
         Cell previous = null;
         for (Cell cell: val.getCells()) {
           if (CellUtil.matchingFamily(cell, WALEdit.METAFAMILY)) continue;
-          if (previous != null && CellComparator.compareRows(previous, cell) 
== 0) continue;
+          if (previous != null && 
CellComparator.COMPARATOR.compareRows(previous, cell) == 0)
+            continue;
           previous = cell;
           Get g = new Get(CellUtil.cloneRow(cell));
           Result r = region.get(g);
           boolean found = false;
           for (CellScanner scanner = r.cellScanner(); scanner.advance();) {
             Cell current = scanner.current();
-            if (CellComparator.compare(cell, current, true) == 0) {
+            if (CellComparator.COMPARATOR.compareKeyIgnoresMvcc(cell, current) 
== 0) {
               found = true;
               break;
             }

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
index 8052d9c..452d8ff 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestReversibleScanners.java
@@ -34,6 +34,7 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HConstants;
@@ -253,7 +254,7 @@ public class TestReversibleScanners {
 
     ScanType scanType = ScanType.USER_SCAN;
     ScanInfo scanInfo = new ScanInfo(FAMILYNAME, 0, Integer.MAX_VALUE,
-        Long.MAX_VALUE, KeepDeletedCells.FALSE, 0, KeyValue.COMPARATOR);
+        Long.MAX_VALUE, KeepDeletedCells.FALSE, 0, CellComparator.COMPARATOR);
 
     // Case 1.Test a full reversed scan
     Scan scan = new Scan();
@@ -484,7 +485,7 @@ public class TestReversibleScanners {
     List<KeyValueScanner> scanners = getScanners(memstore, sf1, sf2, startRow,
         true, readPoint);
     ReversedKeyValueHeap kvHeap = new ReversedKeyValueHeap(scanners,
-        KeyValue.COMPARATOR);
+        CellComparator.COMPARATOR);
     return kvHeap;
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java
index df73ddd..a3c6685 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestScannerHeartbeatMessages.java
@@ -40,7 +40,6 @@ import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.HTestConst;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.client.Put;
 import org.apache.hadoop.hbase.client.Result;
@@ -54,6 +53,7 @@ import 
org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.util.Bytes;
 import org.apache.hadoop.hbase.wal.WAL;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.log4j.Level;
 import org.junit.After;
 import org.junit.AfterClass;
@@ -497,7 +497,7 @@ public class TestScannerHeartbeatMessages {
    * cells. Useful for testing
    */
   private static final class HeartbeatKVHeap extends KeyValueHeap {
-    public HeartbeatKVHeap(List<? extends KeyValueScanner> scanners, 
KVComparator comparator)
+    public HeartbeatKVHeap(List<? extends KeyValueScanner> scanners, 
CellComparator comparator)
         throws IOException {
       super(scanners, comparator);
     }
@@ -523,7 +523,7 @@ public class TestScannerHeartbeatMessages {
    */
   private static final class HeartbeatReversedKVHeap extends 
ReversedKeyValueHeap {
     public HeartbeatReversedKVHeap(List<? extends KeyValueScanner> scanners, 
-        KVComparator comparator) throws IOException {
+        CellComparator comparator) throws IOException {
       super(scanners, comparator);
     }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
index 1e09c40..03cf8b8 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.java
@@ -35,6 +35,7 @@ import java.util.Set;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HColumnDescriptor;
@@ -303,7 +304,7 @@ public class TestSeekOptimizations {
       }
     }
     expectedKVs = filteredKVs;
-    Collections.sort(expectedKVs, KeyValue.COMPARATOR);
+    Collections.sort(expectedKVs, CellComparator.COMPARATOR);
   }
 
   public void put(String qual, long ts) {
@@ -458,7 +459,7 @@ public class TestSeekOptimizations {
 
     int i;
     for (i = 0; i < minLen
-        && KeyValue.COMPARATOR.compareOnlyKeyPortion(expected.get(i), 
actual.get(i)) == 0;
+        && CellComparator.COMPARATOR.compareKeyIgnoresMvcc(expected.get(i), 
actual.get(i)) == 0;
         ++i) {}
 
     if (additionalMsg == null) {

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
index be18dd4..0517db7 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStore.java
@@ -19,7 +19,9 @@
 
 package org.apache.hadoop.hbase.regionserver;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
@@ -48,6 +50,7 @@ import org.apache.hadoop.fs.LocalFileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.permission.FsPermission;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.CellUtil;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
@@ -55,7 +58,6 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HTableDescriptor;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.KeyValueUtil;
 import org.apache.hadoop.hbase.testclassification.MediumTests;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
@@ -503,7 +505,7 @@ public class TestStore {
     //this.store.get(get, qualifiers, result);
 
     //Need to sort the result since multiple files
-    Collections.sort(result, KeyValue.COMPARATOR);
+    Collections.sort(result, CellComparator.COMPARATOR);
 
     //Compare
     assertCheck();
@@ -538,7 +540,7 @@ public class TestStore {
         get.getRow(), qualifiers);
 
     //Need to sort the result since multiple files
-    Collections.sort(result, KeyValue.COMPARATOR);
+    Collections.sort(result, CellComparator.COMPARATOR);
 
     //Compare
     assertCheck();
@@ -986,7 +988,7 @@ public class TestStore {
     public static DefaultCompactor lastCreatedCompactor = null;
     @Override
     protected void createComponents(
-        Configuration conf, Store store, KVComparator comparator) throws 
IOException {
+        Configuration conf, Store store, CellComparator comparator) throws 
IOException {
       super.createComponents(conf, store, comparator);
       lastCreatedCompactor = this.compactor;
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
index e8eb13d..b8be5de 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
@@ -170,9 +170,9 @@ public class TestStoreFile extends HBaseTestCase {
     // Split on a row, not in middle of row.  Midkey returned by reader
     // may be in middle of row.  Create new one with empty column and
     // timestamp.
-    KeyValue kv = KeyValue.createKeyValueFromKey(reader.midkey());
+    KeyValue kv = KeyValueUtil.createKeyValueFromKey(reader.midkey());
     byte [] midRow = kv.getRow();
-    kv = KeyValue.createKeyValueFromKey(reader.getLastKey());
+    kv = KeyValueUtil.createKeyValueFromKey(reader.getLastKey());
     byte [] finalRow = kv.getRow();
     // Make a reference
     HRegionInfo splitHri = new HRegionInfo(hri.getTable(), null, midRow);
@@ -184,7 +184,7 @@ public class TestStoreFile extends HBaseTestCase {
     HFileScanner s = refHsf.createReader().getScanner(false, false);
     for(boolean first = true; (!s.isSeeked() && s.seekTo()) || s.next();) {
       ByteBuffer bb = s.getKey();
-      kv = KeyValue.createKeyValueFromKey(bb);
+      kv = KeyValueUtil.createKeyValueFromKey(bb);
       if (first) {
         assertTrue(Bytes.equals(kv.getRow(), midRow));
         first = false;
@@ -315,7 +315,7 @@ public class TestStoreFile extends HBaseTestCase {
   private void checkHalfHFile(final HRegionFileSystem regionFs, final 
StoreFile f)
       throws IOException {
     byte [] midkey = f.createReader().midkey();
-    KeyValue midKV = KeyValue.createKeyValueFromKey(midkey);
+    KeyValue midKV = KeyValueUtil.createKeyValueFromKey(midkey);
     byte [] midRow = midKV.getRow();
     // Create top split.
     HRegionInfo topHri = new HRegionInfo(regionFs.getRegionInfo().getTable(),
@@ -345,8 +345,8 @@ public class TestStoreFile extends HBaseTestCase {
              (topScanner.isSeeked() && topScanner.next())) {
         key = topScanner.getKey();
 
-        if (topScanner.getReader().getComparator().compareFlatKey(key.array(),
-          key.arrayOffset(), key.limit(), midkey, 0, midkey.length) < 0) {
+        if ((topScanner.getReader().getComparator().compare(midKV, key.array(),
+          key.arrayOffset(), key.limit())) > 0) {
           fail("key=" + Bytes.toStringBinary(key) + " < midkey=" +
               Bytes.toStringBinary(midkey));
         }
@@ -391,14 +391,16 @@ public class TestStoreFile extends HBaseTestCase {
       // Now read from the top.
       first = true;
       topScanner = top.getScanner(false, false);
+      KeyValue.KeyOnlyKeyValue keyOnlyKV = new KeyValue.KeyOnlyKeyValue();
       while ((!topScanner.isSeeked() && topScanner.seekTo()) ||
           topScanner.next()) {
         key = topScanner.getKey();
-        
assertTrue(topScanner.getReader().getComparator().compareFlatKey(key.array(),
-          key.arrayOffset(), key.limit(), badmidkey, 0, badmidkey.length) >= 
0);
+        keyOnlyKV.setKey(key.array(), 0 + key.arrayOffset(), key.limit());
+        assertTrue(topScanner.getReader().getComparator()
+            .compare(keyOnlyKV, badmidkey, 0, badmidkey.length) >= 0);
         if (first) {
           first = false;
-          KeyValue keyKV = KeyValue.createKeyValueFromKey(key);
+          KeyValue keyKV = KeyValueUtil.createKeyValueFromKey(key);
           LOG.info("First top when key < bottom: " + keyKV);
           String tmp = Bytes.toString(keyKV.getRow());
           for (int i = 0; i < tmp.length(); i++) {
@@ -406,7 +408,7 @@ public class TestStoreFile extends HBaseTestCase {
           }
         }
       }
-      KeyValue keyKV = KeyValue.createKeyValueFromKey(key);
+      KeyValue keyKV = KeyValueUtil.createKeyValueFromKey(key);
       LOG.info("Last top when key < bottom: " + keyKV);
       String tmp = Bytes.toString(keyKV.getRow());
       for (int i = 0; i < tmp.length(); i++) {
@@ -430,7 +432,7 @@ public class TestStoreFile extends HBaseTestCase {
         key = bottomScanner.getKey();
         if (first) {
           first = false;
-          keyKV = KeyValue.createKeyValueFromKey(key);
+          keyKV = KeyValueUtil.createKeyValueFromKey(key);
           LOG.info("First bottom when key > top: " + keyKV);
           tmp = Bytes.toString(keyKV.getRow());
           for (int i = 0; i < tmp.length(); i++) {
@@ -438,7 +440,7 @@ public class TestStoreFile extends HBaseTestCase {
           }
         }
       }
-      keyKV = KeyValue.createKeyValueFromKey(key);
+      keyKV = KeyValueUtil.createKeyValueFromKey(key);
       LOG.info("Last bottom when key > top: " + keyKV);
       for (int i = 0; i < tmp.length(); i++) {
         assertTrue(Bytes.toString(keyKV.getRow()).charAt(i) == 'z');

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
index ee39212..bdd9feb 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
@@ -31,6 +31,7 @@ import java.util.TreeSet;
 import junit.framework.TestCase;
 
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeepDeletedCells;
 import org.apache.hadoop.hbase.KeyValue;
@@ -49,7 +50,7 @@ public class TestStoreScanner extends TestCase {
   private static final String CF_STR = "cf";
   final byte [] CF = Bytes.toBytes(CF_STR);
   private ScanInfo scanInfo = new ScanInfo(CF, 0, Integer.MAX_VALUE,
-      Long.MAX_VALUE, KeepDeletedCells.FALSE, 0, KeyValue.COMPARATOR);
+      Long.MAX_VALUE, KeepDeletedCells.FALSE, 0, CellComparator.COMPARATOR);
   private ScanType scanType = ScanType.USER_SCAN;
 
   public void setUp() throws Exception {
@@ -82,7 +83,7 @@ public class TestStoreScanner extends TestCase {
     };
     List<KeyValueScanner> scanners = Arrays.<KeyValueScanner>asList(
         new KeyValueScanner[] {
-            new KeyValueScanFixture(KeyValue.COMPARATOR, kvs)
+            new KeyValueScanFixture(CellComparator.COMPARATOR, kvs)
     });
     Scan scanSpec = new Scan(Bytes.toBytes(r1));
     scanSpec.setTimeRange(0, 6);
@@ -131,7 +132,7 @@ public class TestStoreScanner extends TestCase {
     };
     List<KeyValueScanner> scanners = Arrays.asList(
         new KeyValueScanner[] {
-            new KeyValueScanFixture(KeyValue.COMPARATOR, kvs)
+            new KeyValueScanFixture(CellComparator.COMPARATOR, kvs)
         });
 
     Scan scanSpec = new Scan(Bytes.toBytes("R1"));
@@ -418,7 +419,7 @@ public class TestStoreScanner extends TestCase {
     Scan scan = new Scan();
     scan.setMaxVersions(1);
     ScanInfo scanInfo = new ScanInfo(CF, 0, 1, 500, KeepDeletedCells.FALSE, 0,
-        KeyValue.COMPARATOR);
+        CellComparator.COMPARATOR);
     ScanType scanType = ScanType.USER_SCAN;
     StoreScanner scanner =
       new StoreScanner(scan, scanInfo, scanType,
@@ -489,7 +490,7 @@ public class TestStoreScanner extends TestCase {
     scan.setMaxVersions(1);
     // scanner with ttl equal to 500
     ScanInfo scanInfo = new ScanInfo(CF, 0, 1, 500, KeepDeletedCells.FALSE, 0,
-        KeyValue.COMPARATOR);
+        CellComparator.COMPARATOR);
     ScanType scanType = ScanType.USER_SCAN;
     StoreScanner scanner =
         new StoreScanner(scan, scanInfo, scanType, null, scanners);
@@ -553,7 +554,7 @@ public class TestStoreScanner extends TestCase {
         2 /* maxVersions */, 500 /* ttl */,
         KeepDeletedCells.FALSE /* keepDeletedCells */,
         200, /* timeToPurgeDeletes */
-        KeyValue.COMPARATOR);
+        CellComparator.COMPARATOR);
       StoreScanner scanner =
         new StoreScanner(scan, scanInfo,
           ScanType.COMPACT_DROP_DELETES, null, scanners,

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeCompactor.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeCompactor.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeCompactor.java
index b743550..3c247a9 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeCompactor.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeCompactor.java
@@ -42,11 +42,11 @@ import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.TableName;
 import org.apache.hadoop.hbase.io.compress.Compression;
 import org.apache.hadoop.hbase.io.hfile.HFile;
@@ -188,7 +188,7 @@ public class TestStripeCompactor {
 
     // Create store mock that is satisfactory for compactor.
     HColumnDescriptor col = new HColumnDescriptor(NAME_OF_THINGS);
-    ScanInfo si = new ScanInfo(col, Long.MAX_VALUE, 0, new KVComparator());
+    ScanInfo si = new ScanInfo(col, Long.MAX_VALUE, 0, 
CellComparator.COMPARATOR);
     Store store = mock(Store.class);
     when(store.getFamily()).thenReturn(col);
     when(store.getScanInfo()).thenReturn(si);
@@ -197,7 +197,7 @@ public class TestStripeCompactor {
     when(store.getRegionInfo()).thenReturn(new HRegionInfo(TABLE_NAME));
     when(store.createWriterInTmp(anyLong(), any(Compression.Algorithm.class),
         anyBoolean(), anyBoolean(), anyBoolean())).thenAnswer(writers);
-    when(store.getComparator()).thenReturn(new KVComparator());
+    when(store.getComparator()).thenReturn(CellComparator.COMPARATOR);
 
     return new StripeCompactor(conf, store) {
       @Override

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java
index 32ab164..d9e3ea3 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreEngine.java
@@ -33,8 +33,8 @@ import java.util.Arrays;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseConfiguration;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionContext;
 import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest;
 import 
org.apache.hadoop.hbase.regionserver.compactions.NoLimitCompactionThroughputController;
@@ -111,7 +111,7 @@ public class TestStripeStoreEngine {
 
   private static TestStoreEngine createEngine(Configuration conf) throws 
Exception {
     Store store = mock(Store.class);
-    KVComparator kvComparator = mock(KVComparator.class);
+    CellComparator kvComparator = mock(CellComparator.class);
     return (TestStoreEngine)StoreEngine.create(store, conf, kvComparator);
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java
index 48f93e0..3bb0384 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStripeStoreFileManager.java
@@ -36,11 +36,11 @@ import java.util.List;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HBaseTestingUtility;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.KeyValue;
-import org.apache.hadoop.hbase.KeyValue.KVComparator;
 import org.apache.hadoop.hbase.testclassification.RegionServerTests;
 import org.apache.hadoop.hbase.testclassification.SmallTests;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -590,7 +590,8 @@ public class TestStripeStoreFileManager {
       ArrayList<StoreFile> sfs, Configuration conf) throws Exception {
     StripeStoreConfig config = new StripeStoreConfig(
         conf, Mockito.mock(StoreConfigInformation.class));
-    StripeStoreFileManager result = new StripeStoreFileManager(new 
KVComparator(), conf, config);
+    StripeStoreFileManager result = new 
StripeStoreFileManager(CellComparator.COMPARATOR, conf,
+        config);
     result.loadFiles(sfs);
     return result;
   }

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java
index 3d42809..c7848ba 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/compactions/TestStripeCompactionPolicy.java
@@ -46,6 +46,7 @@ import java.util.List;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HBaseConfiguration;
 import org.apache.hadoop.hbase.HColumnDescriptor;
 import org.apache.hadoop.hbase.HRegionInfo;
@@ -575,7 +576,7 @@ public class TestStripeCompactionPolicy {
     StoreFileWritersCapture writers = new StoreFileWritersCapture();
     StripeStoreFlusher.StripeFlushRequest req = policy.selectFlush(si, 
input.length);
     StripeMultiFileWriter mw = req.createWriter();
-    mw.init(null, writers, new KeyValue.KVComparator());
+    mw.init(null, writers, CellComparator.COMPARATOR);
     for (KeyValue kv : input) {
       mw.append(kv);
     }

http://git-wip-us.apache.org/repos/asf/hbase/blob/977f8674/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWALEntryFilters.java
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWALEntryFilters.java
 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWALEntryFilters.java
index 3710fd6..ecfaa76 100644
--- 
a/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWALEntryFilters.java
+++ 
b/hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationWALEntryFilters.java
@@ -24,6 +24,7 @@ import java.util.Map;
 import java.util.TreeMap;
 
 import org.apache.hadoop.hbase.Cell;
+import org.apache.hadoop.hbase.CellComparator;
 import org.apache.hadoop.hbase.HConstants;
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HTableDescriptor;
@@ -270,7 +271,7 @@ public class TestReplicationWALEntryFilters {
     List<Cell> cells2 = e2.getEdit().getCells();
     Assert.assertEquals(cells1.size(), cells2.size());
     for (int i = 0; i < cells1.size(); i++) {
-      KeyValue.COMPARATOR.compare(cells1.get(i), cells2.get(i));
+      CellComparator.COMPARATOR.compare(cells1.get(i), cells2.get(i));
     }
   }
 }

Reply via email to