You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/10/02 01:43:46 UTC

svn commit: r1003709 - in /hbase/trunk: CHANGES.txt src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

Author: stack
Date: Fri Oct  1 23:43:46 2010
New Revision: 1003709

URL: http://svn.apache.org/viewvc?rev=1003709&view=rev
Log:
HBASE-3064 Long sleeping in HConnectionManager after thread is interrupted

Modified:
    hbase/trunk/CHANGES.txt
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1003709&r1=1003708&r2=1003709&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Fri Oct  1 23:43:46 2010
@@ -562,6 +562,8 @@ Release 0.21.0 - Unreleased
    HBASE-3068  IllegalStateException when new server comes online, is given
                200 regions to open and 200th region gets timed out of regions
                in transition
+   HBASE-3064  Long sleeping in HConnectionManager after thread is interrupted
+               (Bruno Dumon via Stack)
 
   IMPROVEMENTS
    HBASE-1760  Cleanup TODOs in HTable

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1003709&r1=1003708&r2=1003709&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Fri Oct  1 23:43:46 2010
@@ -335,7 +335,8 @@ public class HConnectionManager {
           try {
             this.masterLock.wait(getPauseTime(tries));
           } catch (InterruptedException e) {
-            // continue
+            Thread.currentThread().interrupt();
+            throw new RuntimeException("Thread was interrupted while trying to connect to master.");
           }
         }
         this.masterChecked = true;
@@ -728,8 +729,9 @@ public class HConnectionManager {
         }
         try{
           Thread.sleep(getPauseTime(tries));
-        } catch (InterruptedException e){
-          // continue
+        } catch (InterruptedException e) {
+          Thread.currentThread().interrupt();
+          throw new IOException("Giving up trying to location region in meta: thread is interrupted.");
         }
       }
     }
@@ -916,7 +918,7 @@ public class HConnectionManager {
      *
      * If ZK has not been initialized yet, this will connect to ZK.
      * @returns zookeeper reference
-     * @throws ZooKeeperConncetionException if there's a problem connecting to zk
+     * @throws ZooKeeperConnectionException if there's a problem connecting to zk
      */
     public synchronized ZooKeeperWatcher getZooKeeperWatcher()
         throws ZooKeeperConnectionException {
@@ -948,7 +950,8 @@ public class HConnectionManager {
         try {
           Thread.sleep(getPauseTime(tries));
         } catch (InterruptedException e) {
-          // continue
+          Thread.currentThread().interrupt();
+          throw new IOException("Giving up trying to get region server: thread is interrupted.");
         }
       }
       return null;