Author: jdcryans
Date: Fri Feb 17 19:56:54 2012
New Revision: 1245730

URL: http://svn.apache.org/viewvc?rev=1245730&view=rev
Log:
HBASE-4640  Catch ClosedChannelException and document it

Modified:
    hbase/trunk/src/docbkx/troubleshooting.xml
    hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java

Modified: hbase/trunk/src/docbkx/troubleshooting.xml
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/docbkx/troubleshooting.xml?rev=1245730&r1=1245729&r2=1245730&view=diff
==============================================================================
--- hbase/trunk/src/docbkx/troubleshooting.xml (original)
+++ hbase/trunk/src/docbkx/troubleshooting.xml Fri Feb 17 19:56:54 2012
@@ -888,7 +888,7 @@ ERROR org.apache.hadoop.hbase.regionserv
            as forward lookup. See <link 
xlink:href="https://issues.apache.org/jira/browse/HBASE-3431";>HBASE 3431
            RegionServer is not using the name given it by the master; double 
entry in master listing of servers</link> for gorey details.
           </para>
-          </section>
+        </section>
         <section xml:id="trouble.rs.runtime.codecmsgs">
           <title>Logs flooded with '2011-01-10 12:40:48,407 INFO 
org.apache.hadoop.io.compress.CodecPool: Got
             brand-new compressor' messages</title>
@@ -898,6 +898,15 @@ ERROR org.apache.hadoop.hbase.regionserv
                     symlink them into place and the message should go away.
                 </para>
         </section>
+        <section xml:id="trouble.rs.runtime.client_went_away">
+           <title>Server handler X on 60020 caught: 
java.nio.channels.ClosedChannelException</title>
+           <para>
+           If you see this type of message it means that the region server was 
trying to read/send data from/to a client but
+           it already went away. Typical causes for this are if the client was 
killed (you see a storm of messages like this when a MapReduce
+           job is killed or fails) or if the client receives a 
SocketTimeoutException. It's harmless, but you should consider digging in
+           a bit more if you aren't doing something to trigger them.
+           </para>
+        </section>
 
       </section>    
       <section xml:id="trouble.rs.shutdown">

Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
URL: 
http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java?rev=1245730&r1=1245729&r2=1245730&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java 
(original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java Fri 
Feb 17 19:56:54 2012
@@ -1378,6 +1378,11 @@ public abstract class HBaseServer implem
             // rethrow if no handler
             throw e;
           }
+       } catch (ClosedChannelException cce) {
+          LOG.warn(getName() + " caught a ClosedChannelException, " +
+            "this means that the server was processing a " +
+            "request but the client went away. The error message was: " +
+            cce.getMessage());
         } catch (Exception e) {
           LOG.warn(getName() + " caught: " +
                    StringUtils.stringifyException(e));


Reply via email to