question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Occasional ERROR:Search domain query failed.

See original GitHub issue

Expected behavior

项目能够顺利启动。

Actual behavior

偶尔会抛出Search domain query failed.异常信息导致项目启动不了 Steps to reproduce or test case 项目采用的spring boot1.5.3。

Redis version

redis 4.0.2

Redisson version

Redisson 3.6.5 Redisson configuration

application.yml
redisson:
  address: redis://www.chasel.com:6279
  timeout: 3000
  connectionPoolSize: 64
  connectionMinimumIdleSize: 10
  reconnectionTimeout: 3000
  threads: 10
  codec: org.redisson.codec.JsonJacksonCodec
  nettyThreads: 10
  transportMode: NIO
  idleConnectionTimeout: 10000
  pingTimeout: 1000
  connectTimeout: 10000
  database: 0
Java Code
public class RedissonConfig {

	private String address;
	private int connectionMinimumIdleSize;
	private int idleConnectionTimeout;
	private int pingTimeout;
	private int connectTimeout;
	private int timeout;
	private int reconnectionTimeout;
	private int connectionPoolSize;
	private int database;
	private int threads; // 当前处理核数量 * 2
	private int nettyThreads;
	private String codec;
	@ConditionalOnProperty(name = "redisson.address")
	@Bean(destroyMethod = "shutdown")
	RedissonClient redisson() throws Exception {
		Config config = new Config();
		config.useSingleServer().setAddress(address)
				.setConnectionMinimumIdleSize(connectionMinimumIdleSize).setIdleConnectionTimeout(idleConnectionTimeout)
				.setPingTimeout(pingTimeout).setConnectTimeout(connectTimeout).setTimeout(timeout)
				.setConnectionPoolSize(connectionPoolSize).setDatabase(database)
				;
		config.setThreads(threads);
		config.setTransportMode(TransportMode.NIO);
		config.setNettyThreads(nettyThreads);
		// SingleServerConfig singleServerConfig =
		// config.useSingleServer().setAddress();
		// Config config = Config.fromJSON(new
		// ClassPathResource(RedisContants.RedissonConstants.REDISSON_JSON_CONFIG_FILE_NAME).getFile());
		return Redisson.create(config);
	}

	@ConditionalOnProperty(name = "redisson.address")
	@Bean
	RedissonReactiveClient RedissonReactive() throws IOException {
		Config config = new Config();
		config.useSingleServer().setAddress(address)
				.setConnectionMinimumIdleSize(connectionMinimumIdleSize).setIdleConnectionTimeout(idleConnectionTimeout)
				.setPingTimeout(pingTimeout).setConnectTimeout(connectTimeout).setTimeout(timeout)
				.setConnectionPoolSize(connectionPoolSize).setDatabase(database)
				;
		config.setThreads(threads);
		config.setTransportMode(TransportMode.NIO);
		config.setNettyThreads(nettyThreads);
		return Redisson.createReactive(config);
	}

Excpetion:

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'redissonUtil': Unsatisfied dependency expressed through method 'setRedissonReactiveClient' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RedissonReactive' defined in class path resource [com/sst/common/config/RedissonConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonReactiveClient]: Factory method 'RedissonReactive' threw exception; nested exception is io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'www.chasel.com' failed to resolve 'www.chasel.com' after 2 queries 
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:667)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:366)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1264)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:866)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:737)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:370)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:314)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1162)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1151)
	at com.sst.AdminApiApplication.main(AdminApiApplication.java:13)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'RedissonReactive' defined in class path resource [com/sst/common/config/RedissonConfig.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonReactiveClient]: Factory method 'RedissonReactive' threw exception; nested exception is io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'www.chasel.com' failed to resolve 'www.chasel.com' after 2 queries 
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1173)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1067)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:208)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1066)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:659)
	... 19 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.redisson.api.RedissonReactiveClient]: Factory method 'RedissonReactive' threw exception; nested exception is io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'www.chasel.com' failed to resolve 'www.chasel.com' after 2 queries 
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189)
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:588)
	... 31 common frames omitted
Caused by: io.netty.resolver.dns.DnsNameResolverContext$SearchDomainUnknownHostException: Search domain query failed. Original hostname: 'www.chasel.com' failed to resolve 'www.chasel.com' after 2 queries 
	at io.netty.resolver.dns.DnsNameResolverContext.finishResolve(DnsNameResolverContext.java:728)
	at io.netty.resolver.dns.DnsNameResolverContext.tryToFinishResolve(DnsNameResolverContext.java:670)
	at io.netty.resolver.dns.DnsNameResolverContext.query(DnsNameResolverContext.java:306)
	at io.netty.resolver.dns.DnsNameResolverContext.query(DnsNameResolverContext.java:295)
	at io.netty.resolver.dns.DnsNameResolverContext.access$700(DnsNameResolverContext.java:60)
	at io.netty.resolver.dns.DnsNameResolverContext$3.operationComplete(DnsNameResolverContext.java:346)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:485)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
	at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121)
	at io.netty.resolver.dns.DnsQueryContext.setFailure(DnsQueryContext.java:223)
	at io.netty.resolver.dns.DnsQueryContext.access$300(DnsQueryContext.java:42)
	at io.netty.resolver.dns.DnsQueryContext$4.run(DnsQueryContext.java:162)
	at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
	at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:125)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
	at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
Caused by: io.netty.resolver.dns.DnsNameResolverTimeoutException: [/10.3.0.28:53] query timed out after 5000 milliseconds (no stack trace available)

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Comments:25 (12 by maintainers)

github_iconTop GitHub Comments

4reactions
mrnikocommented, Jun 15, 2018

Change your system’s DNS to working one

1reaction
mrnikocommented, Oct 4, 2018
Read more comments on GitHub >

github_iconTop Results From Across the Web

Understand and troubleshoot partial DNS failure - Amazon AWS
Partial, temporary, or intermittent DNS failure scenarios​​ Sometimes one or more name servers are misconfigured on the registrar. A "whois"  ...
Read more >
Messages Queuing with Error 451 4.4.0 DNS Query Failed
I recently encountered an Exchange 2010 server that was unable to send emails to a small number of domains. The messages would queue...
Read more >
How to Troubleshoot DNS Errors (Timeouts, Codes & More)
Learn how to troubleshoot DNS errors such as timeouts, codes, and more. Answer the question of what is a DNS error and why...
Read more >
451 4.4.0 DNS query failed Exchange Server error in ...
Describes an issue in which you receive an Exchange Server error when you send email to remote domains. Provides a workaround and a ......
Read more >
Solving DNS lookup failures in Kubernetes - Findmypast Tech
Engineers were raising the issue since these domain lookup errors were ... get the feature toggle state for a user - a failure...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found