Repository: hadoop
Updated Branches:
refs/heads/branch-3.1 93d6ed859 -> 9dd79d1dc
YARN-8365. Set DNS query type according to client request.
Contributed by Shane Kumpf
(cherry picked from commit 5889a3c0f931ebe1a9e6b8023c0557922b7d9e49)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/9dd79d1d
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/9dd79d1d
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/9dd79d1d
Branch: refs/heads/branch-3.1
Commit: 9dd79d1dcd46a96ada8ea560d20334b2f7a6b247
Parents: 93d6ed8
Author: Eric Yang <[email protected]>
Authored: Mon Jun 4 19:01:17 2018 -0400
Committer: Eric Yang <[email protected]>
Committed: Mon Jun 4 19:03:07 2018 -0400
----------------------------------------------------------------------
.../org/apache/hadoop/registry/server/dns/RegistryDNS.java | 9 +++++----
.../apache/hadoop/registry/server/dns/TestRegistryDNS.java | 9 ++-------
2 files changed, 7 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/9dd79d1d/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 c322023..5e994fb 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
@@ -1106,7 +1106,7 @@ public class RegistryDNS extends AbstractService
implements DNSOperations,
LOG.debug("calling addAnswer");
byte rcode = addAnswer(response, name, type, dclass, 0, flags);
if (rcode != Rcode.NOERROR) {
- rcode = remoteLookup(response, name, 0);
+ rcode = remoteLookup(response, name, type, 0);
response.getHeader().setRcode(rcode);
}
addAdditional(response, flags);
@@ -1124,9 +1124,10 @@ public class RegistryDNS extends AbstractService
implements DNSOperations,
/**
* Lookup record from upstream DNS servers.
*/
- private byte remoteLookup(Message response, Name name, int iterations) {
+ private byte remoteLookup(Message response, Name name, int type,
+ int iterations) {
// Forward lookup to primary DNS servers
- Record[] answers = getRecords(name, Type.ANY);
+ Record[] answers = getRecords(name, type);
try {
for (Record r : answers) {
if (r.getType() == Type.SOA) {
@@ -1137,7 +1138,7 @@ public class RegistryDNS extends AbstractService
implements DNSOperations,
if (r.getType() == Type.CNAME) {
Name cname = ((CNAMERecord) r).getAlias();
if (iterations < 6) {
- remoteLookup(response, cname, iterations + 1);
+ remoteLookup(response, cname, Type.CNAME, iterations + 1);
}
}
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/9dd79d1d/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/server/dns/TestRegistryDNS.java
----------------------------------------------------------------------
diff --git
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/server/dns/TestRegistryDNS.java
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/server/dns/TestRegistryDNS.java
index 01adc45..6ba58dd 100644
---
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/server/dns/TestRegistryDNS.java
+++
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-registry/src/test/java/org/apache/hadoop/registry/server/dns/TestRegistryDNS.java
@@ -424,13 +424,8 @@ public class TestRegistryDNS extends Assert {
assertEquals("Questions do not match", query.getQuestion(),
response.getQuestion());
Record[] recs = response.getSectionArray(Section.ANSWER);
- boolean found = false;
- for (Record r : recs) {
- if (r.getType()==Type.A) {
- found = true;
- }
- }
- assertTrue("No A records in answer", found);
+ assertEquals(1, recs.length);
+ assertEquals(recs[0].getType(), type);
return recs;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]