Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id D8C97200D43 for ; Mon, 6 Nov 2017 23:01:54 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id D790F160BD5; Mon, 6 Nov 2017 22:01:54 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 3197F160BEC for ; Mon, 6 Nov 2017 23:01:54 +0100 (CET) Received: (qmail 90989 invoked by uid 500); 6 Nov 2017 22:01:41 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 87352 invoked by uid 99); 6 Nov 2017 22:01:38 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Nov 2017 22:01:38 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id AA0BAF5E10; Mon, 6 Nov 2017 22:01:36 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jianhe@apache.org To: common-commits@hadoop.apache.org Date: Mon, 06 Nov 2017 22:02:22 -0000 Message-Id: In-Reply-To: <6d4786bbf9a2474696ffe184527caab8@git.apache.org> References: <6d4786bbf9a2474696ffe184527caab8@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [48/58] [abbrv] hadoop git commit: YARN-7393. RegistryDNS doesn't work in tcp channel. Contributed by Eric Yang archived-at: Mon, 06 Nov 2017 22:01:55 -0000 YARN-7393. RegistryDNS doesn't work in tcp channel. Contributed by Eric Yang Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/8ec9e72c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/8ec9e72c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/8ec9e72c Branch: refs/heads/yarn-native-services Commit: 8ec9e72cc37957d8cf9af5a7b78086441ae64b00 Parents: d2775fb Author: Billie Rinaldi Authored: Fri Oct 27 11:44:55 2017 -0700 Committer: Jian He Committed: Mon Nov 6 13:30:19 2017 -0800 ---------------------------------------------------------------------- .../hadoop/registry/server/dns/RegistryDNS.java | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/8ec9e72c/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/main/java/org/apache/hadoop/registry/server/dns/RegistryDNS.java ---------------------------------------------------------------------- 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 9097c46..d7ebece 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 @@ -189,8 +189,7 @@ public class RegistryDNS extends AbstractService implements DNSOperations, LOG.info("Opening TCP and UDP channels on {} port {}", addr, port); addNIOUDP(addr, port); - //TODO Fix dns lookup over TCP -// addNIOTCP(addr, port); + addNIOTCP(addr, port); } /** @@ -768,7 +767,7 @@ public class RegistryDNS extends AbstractService implements DNSOperations, buf.get(in, 0, messageLength); Message query; - byte[] response = null; + byte[] response; try { query = new Message(in); LOG.info("received TCP query {}", query.getQuestion()); @@ -781,10 +780,19 @@ public class RegistryDNS extends AbstractService implements DNSOperations, } ByteBuffer out = ByteBuffer.allocate(response.length + 2); - out.putShort(0, (short) (response.length & 0xffff)); + out.clear(); + byte[] data = new byte[2]; + + data[1] = (byte)(response.length & 0xFF); + data[0] = (byte)((response.length >> 8) & 0xFF); + out.put(data); out.put(response); + out.flip(); + + while(out.hasRemaining()) { + ch.write(out); + } - ch.write(out); } catch (IOException e) { throw NetUtils.wrapException(ch.socket().getInetAddress().getHostName(), ch.socket().getPort(), @@ -836,6 +844,8 @@ public class RegistryDNS extends AbstractService implements DNSOperations, } }); + } else { + Thread.sleep(500); } } } catch (IOException e) { --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org For additional commands, e-mail: common-commits-help@hadoop.apache.org