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/04/27 02:32:31 UTC

svn commit: r938278 - in /hadoop/hbase/branches/0.20: CHANGES.txt src/java/org/apache/hadoop/hbase/ipc/HBaseClient.java

Author: stack
Date: Tue Apr 27 00:32:31 2010
New Revision: 938278

URL: http://svn.apache.org/viewvc?rev=938278&view=rev
Log:
HBASE-2487 Uncaught exceptions in receiving IPC responses orphan clients

Modified:
    hadoop/hbase/branches/0.20/CHANGES.txt
    hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/ipc/HBaseClient.java

Modified: hadoop/hbase/branches/0.20/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/CHANGES.txt?rev=938278&r1=938277&r2=938278&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/CHANGES.txt (original)
+++ hadoop/hbase/branches/0.20/CHANGES.txt Tue Apr 27 00:32:31 2010
@@ -99,6 +99,8 @@ Release 0.20.4 - Unreleased
    HBASE-2481  Client is not getting UnknownScannerExceptions; they are
                being eaten (Jean-Daniel Cryans via Stack)
    HBASE-2381  missing copyright headers (Andrew Purtell via Stack)
+   HBASE-2487  Uncaught exceptions in receiving IPC responses orphan clients
+               (Todd Lipcon via Stack)
 
   IMPROVEMENTS
    HBASE-2180  Bad read performance from synchronizing hfile.fddatainputstream

Modified: hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/ipc/HBaseClient.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/ipc/HBaseClient.java?rev=938278&r1=938277&r2=938278&view=diff
==============================================================================
--- hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/ipc/HBaseClient.java (original)
+++ hadoop/hbase/branches/0.20/src/java/org/apache/hadoop/hbase/ipc/HBaseClient.java Tue Apr 27 00:32:31 2010
@@ -446,10 +446,15 @@ public class HBaseClient {
         LOG.debug(getName() + ": starting, having connections " 
             + connections.size());
 
-      while (waitForWork()) {//wait here for work - read or close connection
-        receiveResponse();
+      try {
+        while (waitForWork()) {//wait here for work - read or close connection
+          receiveResponse();
+        }
+      } catch (Throwable t) {
+        LOG.warn("Unexpected exception receiving call responses", t);
+        markClosed(new IOException("Unexpected exception receiving call responses", t));
       }
-      
+
       close();
       
       if (LOG.isDebugEnabled())