HDFS-2286. DataXceiverServer logs AsynchronousCloseException at shutdown. Contributed by Todd Lipcon.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1162003 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Todd Lipcon 2011-08-26 06:44:13 +00:00
parent 73451ed2d9
commit 7cf49f5d9c
2 changed files with 10 additions and 0 deletions

View File

@ -997,6 +997,9 @@ Release 0.23.0 - Unreleased
HDFS-1480. All replicas of a block can end up on the same rack when
some datanodes are decommissioning. (todd)
HDFS-2286. DataXceiverServer logs AsynchronousCloseException at shutdown
(todd)
BREAKDOWN OF HDFS-1073 SUBTASKS
HDFS-1521. Persist transaction ID on disk between NN restarts.

View File

@ -21,6 +21,7 @@ import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.nio.channels.AsynchronousCloseException;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@ -144,6 +145,12 @@ class DataXceiverServer implements Runnable {
new Daemon(datanode.threadGroup, exciver).start();
} catch (SocketTimeoutException ignored) {
// wake up to see if should continue to run
} catch (AsynchronousCloseException ace) {
// another thread closed our listener socket - that's expected during shutdown,
// but not in other circumstances
if (datanode.shouldRun) {
LOG.warn(datanode.getMachineName() + ":DataXceiverServer: ", ace);
}
} catch (IOException ie) {
LOG.warn(datanode.getMachineName() + ":DataXceiverServer: ", ie);
} catch (Throwable te) {