Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Netty DNS Tests fail with custom search domain #6966

Closed
carl-mastrangelo opened this issue Jul 12, 2017 · 4 comments
Closed

Netty DNS Tests fail with custom search domain #6966

carl-mastrangelo opened this issue Jul 12, 2017 · 4 comments
Assignees
Labels
Milestone

Comments

@carl-mastrangelo
Copy link
Member

carl-mastrangelo commented Jul 12, 2017

Expected behavior

tests pass

Actual behavior

tests fail

Steps to reproduce

Add this to /etc/resolv.conf:

search floop

and run tests

Netty version

4.1

output:

Tests run: 28, Failures: 0, Errors: 11, Skipped: 0, Time elapsed: 7.491 sec <<< FAILURE! - in io.netty.resolver.dns.DnsNameResolverTest
secondDnsServerShouldBeUsedBeforeCNAMEFirstServerNotStarted(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 1.855 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'netty.io' failed to resolve 'netty.io.floop' after 4 queries 

testResolveNotDecodeUnicode(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.218 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'xn--mller-kva.de' failed to resolve 'xn--mller-kva.de.floop'

testNonCachedResolve(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.144 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'blogspot.in' failed to resolve 'blogspot.in.floop'

testResolveAAAAorA(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.808 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'blogspot.in' failed to resolve 'blogspot.in.floop'

aAndAAAAQueryShouldTryFirstDnsServerBeforeSecond(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.197 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'netty.io' failed to resolve 'netty.io.floop' after 5 queries 

testNameServerCache(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.259 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'blogspot.in' failed to resolve 'blogspot.in.floop'

testResolveAorAAAA(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.215 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'blogspot.in' failed to resolve 'blogspot.in.floop'

testResolveDecodeUnicode(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.812 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'xn--mller-kva.de' failed to resolve 'xn--mller-kva.de.floop'

testResolveA(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.153 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'blogspot.in' failed to resolve 'blogspot.in.floop'

testResolveAAAA(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.779 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'blogspot.in' failed to resolve 'blogspot.in.floop'

secondDnsServerShouldBeUsedBeforeCNAMEFirstServerFailResolve(io.netty.resolver.dns.DnsNameResolverTest)  Time elapsed: 0.205 sec  <<< ERROR!
io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'netty.io' failed to resolve 'netty.io.floop' after 4 queries 

Running io.netty.resolver.dns.DnsNameResolverClientSubnetTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0 sec - in io.netty.resolver.dns.DnsNameResolverClientSubnetTest
Running io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProviderTest
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProviderTest
Running io.netty.resolver.dns.DnsServerAddressesTest
12:59:26.880 [main] DEBUG i.n.r.d.DefaultDnsServerAddressStreamProvider - Default DNS servers: [/127.0.1.1:53] (sun.net.dns.ResolverConfiguration)
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in io.netty.resolver.dns.DnsServerAddressesTest

Results :

Tests in error: 
  DnsNameResolverTest.aAndAAAAQueryShouldTryFirstDnsServerBeforeSecond » SearchDomainUnknownHost
  DnsNameResolverTest.secondDnsServerShouldBeUsedBeforeCNAMEFirstServerFailResolve » SearchDomainUnknownHost
  DnsNameResolverTest.secondDnsServerShouldBeUsedBeforeCNAMEFirstServerNotStarted » SearchDomainUnknownHost
  DnsNameResolverTest.testNameServerCache » SearchDomainUnknownHost Search domai...
  DnsNameResolverTest.testNonCachedResolve » SearchDomainUnknownHost Search doma...
  DnsNameResolverTest.testResolveA » SearchDomainUnknownHost Search domain query...
  DnsNameResolverTest.testResolveAAAA » SearchDomainUnknownHost Search domain qu...
  DnsNameResolverTest.testResolveAAAAorA » SearchDomainUnknownHost Search domain...
  DnsNameResolverTest.testResolveAorAAAA » SearchDomainUnknownHost Search domain...
  DnsNameResolverTest.testResolveDecodeUnicode » SearchDomainUnknownHost Search ...
  DnsNameResolverTest.testResolveNotDecodeUnicode » SearchDomainUnknownHost Sear...

Tests run: 47, Failures: 0, Errors: 11, Skipped: 1

Notice the floop domain added in the log messages.

@Scottmitch
Copy link
Member

Scottmitch commented Jul 12, 2017

Are you also setting the value of ndots in /etc/resolv.conf? The default value is 1 but based upon secondDnsServerShouldBeUsedBeforeCNAMEFirstServerNotStarted's result it looks like netty.io had the search domain appended ... which would mean ndots > 1.

@carl-mastrangelo
Copy link
Member Author

options ndots:2

is what I have

@Scottmitch
Copy link
Member

yip makes sense ... I corrected the conditional above. Let me be more explicit about setting this in our unit tests.

@Scottmitch Scottmitch self-assigned this Jul 12, 2017
@Scottmitch Scottmitch added this to the 4.1.14.Final milestone Jul 12, 2017
Scottmitch added a commit to Scottmitch/netty that referenced this issue Jul 12, 2017
Motivation:
The DNS resolver may use default configuration inherited from the environment. This means the ndots value may change and result in test failure if the tests don't explicitly set the assumed value.

Modifications:
- Explicitly set ndots in resolver-dns unit tests so we don't fail if the environment overrides the search domain and ndots

Result:
Unit tests are less dependent upon the enviroment they run in.
Fixes netty#6966.
@Scottmitch
Copy link
Member

Please verify PR #6967

liuzhengyang pushed a commit to liuzhengyang/netty that referenced this issue Sep 10, 2017
Motivation:
The DNS resolver may use default configuration inherited from the environment. This means the ndots value may change and result in test failure if the tests don't explicitly set the assumed value.

Modifications:
- Explicitly set ndots in resolver-dns unit tests so we don't fail if the environment overrides the search domain and ndots

Result:
Unit tests are less dependent upon the enviroment they run in.
Fixes netty#6966.
kiril-me pushed a commit to kiril-me/netty that referenced this issue Feb 28, 2018
Motivation:
The DNS resolver may use default configuration inherited from the environment. This means the ndots value may change and result in test failure if the tests don't explicitly set the assumed value.

Modifications:
- Explicitly set ndots in resolver-dns unit tests so we don't fail if the environment overrides the search domain and ndots

Result:
Unit tests are less dependent upon the enviroment they run in.
Fixes netty#6966.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants