diff --git a/src/docbkx/troubleshooting.xml b/src/docbkx/troubleshooting.xml
index e6c216ec687..a92d9794e92 100644
--- a/src/docbkx/troubleshooting.xml
+++ b/src/docbkx/troubleshooting.xml
@@ -888,7 +888,7 @@ ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expi
as forward lookup. See HBASE 3431
RegionServer is not using the name given it by the master; double entry in master listing of servers for gorey details.
-
+
Logs flooded with '2011-01-10 12:40:48,407 INFO org.apache.hadoop.io.compress.CodecPool: Got
brand-new compressor' messages
@@ -898,6 +898,15 @@ ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: ZooKeeper session expi
symlink them into place and the message should go away.
+
+ Server handler X on 60020 caught: java.nio.channels.ClosedChannelException
+
+ 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.
+
+
diff --git a/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java b/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
index dbc4b34f84d..5e004042645 100644
--- a/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
+++ b/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java
@@ -1378,6 +1378,11 @@ public abstract class HBaseServer implements RpcServer {
// 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));