You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by la...@apache.org on 2013/01/24 07:23:33 UTC

svn commit: r1437865 - in /hbase/branches/0.94/src: main/java/org/apache/hadoop/hbase/client/HConnectionManager.java test/java/org/apache/hadoop/hbase/client/TestHCM.java

Author: larsh
Date: Thu Jan 24 06:23:33 2013
New Revision: 1437865

URL: http://svn.apache.org/viewvc?rev=1437865&view=rev
Log:
HBASE-7638 Revert, due to concerns of failing tests.

Modified:
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
    hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java

Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1437865&r1=1437864&r2=1437865&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Thu Jan 24 06:23:33 2013
@@ -987,7 +987,7 @@ public class HConnectionManager {
                 return location;
               }
             } else {
-              deleteCachedLocation(tableName, row, null);
+              deleteCachedLocation(tableName, row);
             }
 
             // Query the root or meta region for the location of the meta region
@@ -1134,35 +1134,25 @@ public class HConnectionManager {
      * @param tableName tableName
      * @param row
      */
-    void deleteCachedLocation(final byte[] tableName, final byte[] row, HRegionLocation source) {
-      boolean isStaleDelete = false;
-      HRegionLocation oldLocation = null;
+    void deleteCachedLocation(final byte [] tableName, final byte [] row) {
       synchronized (this.cachedRegionLocations) {
         Map<byte[], HRegionLocation> tableLocations =
             getTableLocations(tableName);
         // start to examine the cache. we can only do cache actions
         // if there's something in the cache for this table.
         if (!tableLocations.isEmpty()) {
-          oldLocation = getCachedLocation(tableName, row);
-          if (oldLocation != null) {
-            isStaleDelete = (source != null) && !oldLocation.equals(source);
-            if (!isStaleDelete) {
-              tableLocations.remove(oldLocation.getRegionInfo().getStartKey());
+          HRegionLocation rl = getCachedLocation(tableName, row);
+          if (rl != null) {
+            tableLocations.remove(rl.getRegionInfo().getStartKey());
+            if (LOG.isDebugEnabled()) {
+              LOG.debug("Removed " +
+                rl.getRegionInfo().getRegionNameAsString() +
+                " for tableName=" + Bytes.toString(tableName) +
+                " from cache " + "because of " + Bytes.toStringBinary(row));
             }
           }
         }
       }
-      if (LOG.isDebugEnabled()) {
-        if (isStaleDelete) {
-          LOG.debug("Received an error from " + source.getHostnamePort() + " for ["
-            + oldLocation.getRegionInfo().getRegionNameAsString()  + "]; not removing "
-            + oldLocation.getHostnamePort() + " from cache.");
-        } else if (oldLocation != null) {
-          LOG.debug("Removed [" + oldLocation.getRegionInfo().getRegionNameAsString()
-            + "] for tableName=" + Bytes.toString(tableName) + " from cache because of ["
-            + Bytes.toStringBinary(row) + "]");
-        }
-      }
     }
 
     @Override
@@ -1603,7 +1593,7 @@ public class HConnectionManager {
             actionCount++;
             Row row = list.get(i);
             workingList.add(row);
-            deleteCachedLocation(tableName, row.getRow(), lastServers[i]);
+            deleteCachedLocation(tableName, row.getRow());
           } else {
             if (results[i] != null && results[i] instanceof Throwable) {
               actionCount++;

Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java?rev=1437865&r1=1437864&r2=1437865&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestHCM.java Thu Jan 24 06:23:33 2013
@@ -61,7 +61,6 @@ public class TestHCM {
   private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
   private static final byte[] TABLE_NAME = Bytes.toBytes("test");
   private static final byte[] TABLE_NAME1 = Bytes.toBytes("test1");
-  private static final byte[] TABLE_NAME2 = Bytes.toBytes("test2");
   private static final byte[] FAM_NAM = Bytes.toBytes("f");
   private static final byte[] ROW = Bytes.toBytes("bbb");
 
@@ -163,7 +162,7 @@ public class TestHCM {
     HConnectionManager.HConnectionImplementation conn =
         (HConnectionManager.HConnectionImplementation)table.getConnection();
     assertNotNull(conn.getCachedLocation(TABLE_NAME, ROW));
-    conn.deleteCachedLocation(TABLE_NAME, ROW, null);
+    conn.deleteCachedLocation(TABLE_NAME, ROW);
     HRegionLocation rl = conn.getCachedLocation(TABLE_NAME, ROW);
     assertNull("What is this location?? " + rl, rl);
     table.close();
@@ -327,31 +326,6 @@ public class TestHCM {
     assertTrue(c2 != c3);
   }
 
-  @Test(timeout = 60000)
-  public void testDeleteFromCacheOnlyWorksFromTheSameSource() throws Exception{
-    HTable table = TEST_UTIL.createTable(TABLE_NAME2, FAM_NAM);
-    TEST_UTIL.createMultiRegions(table, FAM_NAM);
-    Put put = new Put(ROW);
-    put.add(FAM_NAM, ROW, ROW);
-    table.put(put);
-    HConnectionManager.HConnectionImplementation conn =
-        (HConnectionManager.HConnectionImplementation)table.getConnection();
-
-    HRegionLocation location = conn.getCachedLocation(TABLE_NAME2, ROW);
-    assertNotNull(location);
-    HRegionLocation anySource = new HRegionLocation(location.getRegionInfo(),
-        location.getHostname(), location.getPort() - 1);
-    conn.deleteCachedLocation(TABLE_NAME2, ROW, anySource);
-    location = conn.getCachedLocation(TABLE_NAME2, ROW);
-    assertNotNull(location); // different server, no delete.
-
-    conn.deleteCachedLocation(TABLE_NAME2, ROW, location);
-    location = conn.getCachedLocation(TABLE_NAME2, ROW);
-    assertNull(location); // same server, delete.
-
-    TEST_UTIL.deleteTable(TABLE_NAME2);
-  }
-
   @org.junit.Rule
   public org.apache.hadoop.hbase.ResourceCheckerJUnitRule cu =
     new org.apache.hadoop.hbase.ResourceCheckerJUnitRule();