commit 8b73aa5c643046de100258342227e943c8e0eeeb Author: Eric Yang Date: Thu Jul 12 17:05:45 2018 -0400 YARN-8525. Improve interrupt handling for YARN RegistryDNS. Contributed by Eric Yang diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/server/dns/RegistryDNS.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/server/dns/RegistryDNS.java index 0022843..b21fc3d1 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/server/dns/RegistryDNS.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/server/dns/RegistryDNS.java @@ -842,17 +842,21 @@ public void serveNIOTCP(ServerSocketChannel serverSocketChannel, while (true) { final SocketChannel socketChannel = serverSocketChannel.accept(); - if (socketChannel != null) { - executor.submit(new Callable() { - @Override - public Boolean call() throws Exception { - nioTCPClient(socketChannel); - return true; - } - }); + try { + if (socketChannel != null) { + executor.submit(new Callable() { + @Override + public Boolean call() throws Exception { + nioTCPClient(socketChannel); + return true; + } + }); - } else { - Thread.sleep(500); + } else { + Thread.sleep(500); + } + } catch (InterruptedException i) { + Thread.currentThread().interrupt(); } } } catch (IOException e) {