Author: rawson
Date: Wed Jul 15 00:36:33 2009
New Revision: 794125

URL: http://svn.apache.org/viewvc?rev=794125&view=rev
Log:
HBASE-1659, merge tool binary fixes

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Merge.java
    
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=794125&r1=794124&r2=794125&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Wed Jul 15 00:36:33 2009
@@ -266,6 +266,7 @@
                start-up/shut down. ie: you cant start/stop thrift on a cluster
                anymore
    HBASE-1658  Remove UI refresh -- its annoying
+   HBASE-1659  merge tool doesnt take binary regions with \x escape format
 
   IMPROVEMENTS
    HBASE-1089  Add count of regions on filesystem to master UI; add percentage

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Merge.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Merge.java?rev=794125&r1=794124&r2=794125&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Merge.java 
(original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/util/Merge.java Wed Jul 
15 00:36:33 2009
@@ -345,8 +345,8 @@
     tableName = Bytes.toBytes(remainingArgs[0]);
     isMetaTable = Bytes.compareTo(tableName, HConstants.META_TABLE_NAME) == 0;
     
-    region1 = Bytes.toBytes(remainingArgs[1]);
-    region2 = Bytes.toBytes(remainingArgs[2]);
+    region1 = Bytes.toBytesBinary(remainingArgs[1]);
+    region2 = Bytes.toBytesBinary(remainingArgs[2]);
     int status = 0;
     if (notInTable(tableName, region1) || notInTable(tableName, region2)) {
       status = -1;

Modified: 
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java?rev=794125&r1=794124&r2=794125&view=diff
==============================================================================
--- 
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
 (original)
+++ 
hadoop/hbase/trunk/src/test/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
 Wed Jul 15 00:36:33 2009
@@ -53,6 +53,30 @@
     return cols;
   }
 
+  public void testScanSameTimestamp() throws IOException {
+    // returns only 1 of these 2 even though same timestamp
+    KeyValue [] kvs = new KeyValue[] {
+        KeyValueTestUtil.create("R1", "cf", "a", 1, KeyValue.Type.Put, 
"dont-care"),
+        KeyValueTestUtil.create("R1", "cf", "a", 1, KeyValue.Type.Put, 
"dont-care"),
+    };
+    KeyValueScanner [] scanners = new KeyValueScanner[] {
+        new KeyValueScanFixture(KeyValue.COMPARATOR,
+            kvs)
+    };
+
+    Scan scanSpec = new Scan(Bytes.toBytes("R1"));
+    // this only uses maxVersions (default=1) and TimeRange (default=all)
+    StoreScanner scan =
+        new StoreScanner(scanSpec, CF, Long.MAX_VALUE,
+            KeyValue.COMPARATOR, getCols("a"),
+            scanners);
+
+    List<KeyValue> results = new ArrayList<KeyValue>();
+    assertEquals(true, scan.next(results));
+    assertEquals(1, results.size());
+    assertEquals(kvs[0], results.get(0));
+  }
+
   /**
    * Test test shows exactly how the matcher's return codes confuses the 
StoreScanner
    * and prevent it from doing the right thing.  Seeking once, then nexting 
twice


Reply via email to