Author: stack
Date: Sun Mar  8 07:13:34 2009
New Revision: 751380

URL: http://svn.apache.org/viewvc?rev=751380&view=rev
Log:
HBASE-1229 Apply HADOOP-5369 to HBase MapFile -- Latest version of Ben patch

Modified:
    hadoop/hbase/branches/0.19/CHANGES.txt
    hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/io/MapFile.java

Modified: hadoop/hbase/branches/0.19/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/CHANGES.txt?rev=751380&r1=751379&r2=751380&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.19/CHANGES.txt Sun Mar  8 07:13:34 2009
@@ -41,7 +41,7 @@
                (Erik Holstad via Stack)
    HBASE-1240  Would be nice if RowResult could be comparable
                (Erik Holstad via Stack)
-   HBASE-1229   Apply HADOOP-5369 to HBase MapFile (Ben Maurer via Stack)
+   HBASE-1229  Apply HADOOP-5369 to HBase MapFile (Ben Maurer via Stack)
 
 Release 0.19.0
   INCOMPATIBLE CHANGES

Modified: 
hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/io/MapFile.java
URL: 
http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/io/MapFile.java?rev=751380&r1=751379&r2=751380&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/io/MapFile.java 
(original)
+++ hadoop/hbase/branches/0.19/src/java/org/apache/hadoop/hbase/io/MapFile.java 
Sun Mar  8 07:13:34 2009
@@ -388,19 +388,17 @@
       data.seek(firstPosition);
     }
 
-    /** Get the key at approximately the middle of the file.
-     * 
-     * @throws IOException
+    /** Get the key at approximately the middle of the file. Or null if the
+     *  file is empty. 
      */
     public synchronized WritableComparable midKey() throws IOException {
 
       readIndex();
-      int pos = ((count - 1) / 2);              // middle of the index
-      if (pos < 0) {
-        throw new IOException("MapFile empty");
+      if (count == 0) {
+        return null;
       }
-      
-      return keys[pos];
+    
+      return keys[(count - 1) / 2];
     }
     
     /** Reads the final key from the file.


Reply via email to