You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ra...@apache.org on 2012/06/26 19:17:08 UTC

svn commit: r1354116 - /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java

Author: ramkrishna
Date: Tue Jun 26 17:17:07 2012
New Revision: 1354116

URL: http://svn.apache.org/viewvc?rev=1354116&view=rev
Log:
HBASE-6240 Race in HCM.getMaster stalls clients

Submitted by:J-D, Ram	
Reviewed by:J-D, Ted	

Modified:
    hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.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=1354116&r1=1354115&r2=1354116&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 Tue Jun 26 17:17:07 2012
@@ -634,6 +634,14 @@ public class HConnectionManager {
       checkIfBaseNodeAvailable();
       ServerName sn = null;
       synchronized (this.masterLock) {
+        try {
+          if (master != null && master.isMasterRunning()) {
+            return master;
+          }
+        } catch (UndeclaredThrowableException ute) {
+          // log, but ignore, the loop below will attempt to reconnect
+          LOG.info("Exception contacting master. Retrying...", ute.getCause());
+        }
         this.master = null;
 
         for (int tries = 0;