You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jd...@apache.org on 2008/10/29 21:29:01 UTC

svn commit: r709001 - in /hadoop/hbase/trunk: CHANGES.txt src/java/org/apache/hadoop/hbase/client/HTable.java src/java/org/apache/hadoop/hbase/regionserver/HRegion.java src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Author: jdcryans
Date: Wed Oct 29 13:29:00 2008
New Revision: 709001

URL: http://svn.apache.org/viewvc?rev=709001&view=rev
Log:
HBASE-966   HBASE-748 misses some writes

Modified:
    hadoop/hbase/trunk/CHANGES.txt
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Modified: hadoop/hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/CHANGES.txt?rev=709001&r1=709000&r2=709001&view=diff
==============================================================================
--- hadoop/hbase/trunk/CHANGES.txt (original)
+++ hadoop/hbase/trunk/CHANGES.txt Wed Oct 29 13:29:00 2008
@@ -51,6 +51,7 @@
                Chores, vs Threads, make HLog manager the write ahead log and
                not extend it to provided optional HLog sync operations.
    HBASE-970   Update the copy/rename scripts to go against change API
+   HBASE-966   HBASE-748 misses some writes
 
   IMPROVEMENTS
    HBASE-901   Add a limit to key length, check key and value length on client side

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java?rev=709001&r1=709000&r2=709001&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/client/HTable.java Wed Oct 29 13:29:00 2008
@@ -1059,7 +1059,7 @@
                   return i;
                 }
               });
-          if (index != updates.length - 1) {
+          if (index !=  -1) {
             // Basic waiting time. If many updates are flushed, tests have shown
             // that this is barely needed but when commiting 1 update this may
             // get retried hundreds of times.

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=709001&r1=709000&r2=709001&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegion.java Wed Oct 29 13:29:00 2008
@@ -1350,18 +1350,6 @@
   //////////////////////////////////////////////////////////////////////////////
   
   /**
-   * Batch update many rows
-   * @param bus 
-   * @param locks
-   * @throws IOException
-   */
-  public void batchUpdate(BatchUpdate[] bus, Integer[] locks) throws IOException {
-    for (int i = 0; i < bus.length; i++) {
-      batchUpdate(bus[i], locks[i]);
-    }
-  }
-  
-  /**
    * @param b
    * @throws IOException
    */

Modified: hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=709001&r1=709000&r2=709001&view=diff
==============================================================================
--- hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hadoop/hbase/trunk/src/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Wed Oct 29 13:29:00 2008
@@ -1177,13 +1177,12 @@
       HRegion region = getRegion(regionName);
       this.cacheFlusher.reclaimMemcacheMemory();
       Integer[] locks = new Integer[b.length];
-      for (int j = 0; j < b.length; j++) {
+      for (i = 0; i < b.length; i++) {
         this.requestCount.incrementAndGet();
-        validateValuesLength(b[j], region);
-        locks[j] = getLockFromId(b[j].getRowLock());
+        validateValuesLength(b[i], region);
+        locks[i] = getLockFromId(b[i].getRowLock());
+        region.batchUpdate(b[i], locks[i]);
       }
-      i+= b.length-1;
-      region.batchUpdate(b, locks);
     } catch (OutOfMemoryError error) {
       abort();
       LOG.fatal("Ran out of memory", error);
@@ -1195,7 +1194,7 @@
       checkFileSystem();
       throw e;
     }
-    return i;
+    return -1;
   }
   
   /**