Index: src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java (revision 1187131) +++ src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java (working copy) @@ -1270,6 +1270,10 @@ // 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"); } catch (Exception e) { LOG.warn(getName() + " caught: " + StringUtils.stringifyException(e)); Index: src/docbkx/troubleshooting.xml =================================================================== --- src/docbkx/troubleshooting.xml (revision 1187131) +++ src/docbkx/troubleshooting.xml (working copy) @@ -716,7 +716,16 @@ 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. - + +
+ 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. + +