Преглед на файлове

HDFS-2286. DataXceiverServer logs AsynchronousCloseException at shutdown. Contributed by Todd Lipcon and Uma Maheswara Rao G.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.22@1185369 13f79535-47bb-0310-9956-ffa450edef68
Konstantin Shvachko преди 13 години
родител
ревизия
0409a31b87
променени са 2 файла, в които са добавени 11 реда и са изтрити 0 реда
  1. 3 0
      hdfs/CHANGES.txt
  2. 8 0
      hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiverServer.java

+ 3 - 0
hdfs/CHANGES.txt

@@ -645,6 +645,9 @@ Release 0.22.0 - Unreleased
     HDFS-2012. Balancer incorrectly treats nodes whose utilization equals
     avgUtilization. (Uma Maheswara Rao G via shv)
 
+    HDFS-2286. DataXceiverServer logs AsynchronousCloseException at shutdown
+    (Todd Lipcon and Uma Maheswara Rao G via shv)
+
 Release 0.21.1 - Unreleased
 
   IMPROVEMENTS

+ 8 - 0
hdfs/src/java/org/apache/hadoop/hdfs/server/datanode/DataXceiverServer.java

@@ -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;
@@ -138,6 +139,13 @@ class DataXceiverServer implements Runnable, FSConstants {
             new DataXceiver(s, datanode, this)).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.dnRegistration + ":DataXceiverServer: ", ace);
+        }
       } catch (IOException ie) {
         LOG.warn(datanode.dnRegistration + ":DataXceiveServer: " 
                                 + StringUtils.stringifyException(ie));