Local Embedded Redis does not work with 3.9.1
See original GitHub issueHere is the other issue I created. Just like the other ticket, as soon as I downgrade to 3.8.2, everything works just fine.
Expected behavior
Redisson should be able to connect to local redis running on port 6614.
Actual behavior
Redisson won’t start and throws this error:
Caused by: org.redisson.client.RedisConnectionException: Unable to connect to Redis server: localhost/127.0.0.1:6614
at org.redisson.connection.pool.ConnectionPool$2$1.operationComplete(ConnectionPool.java:160)
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 org.redisson.misc.RedissonPromise.tryFailure(RedissonPromise.java:108)
at org.redisson.connection.pool.ConnectionPool.promiseFailure(ConnectionPool.java:327)
at org.redisson.connection.pool.ConnectionPool.access$400(ConnectionPool.java:53)
at org.redisson.connection.pool.ConnectionPool$4.operationComplete(ConnectionPool.java:291)
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:511)
at io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:504)
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:483)
at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:424)
at io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:121)
at org.redisson.misc.RedissonPromise.tryFailure(RedissonPromise.java:108)
at org.redisson.client.RedisClient$2$1$2.run(RedisClient.java:250)
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:466)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:897)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: failed to create a new resolver
at io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:71)
at io.netty.bootstrap.Bootstrap.doResolveAndConnect0(Bootstrap.java:200)
at io.netty.bootstrap.Bootstrap.access$000(Bootstrap.java:49)
at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:188)
at io.netty.bootstrap.Bootstrap$1.operationComplete(Bootstrap.java:174)
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.trySuccess(DefaultPromise.java:103)
at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
at io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetSuccess(AbstractChannel.java:978)
at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:512)
at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:423)
at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:482)
... 6 common frames omitted
Caused by: java.lang.IllegalStateException: failed to create a new resolver
at io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:71)
at org.redisson.connection.dns.MultiDnsAddressResolverGroup.newResolver(MultiDnsAddressResolverGroup.java:68)
at io.netty.resolver.dns.DnsAddressResolverGroup.newResolver(DnsAddressResolverGroup.java:79)
at io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:69)
... 19 common frames omitted
Caused by: io.netty.channel.ChannelException: Unable to create Channel from class class io.netty.channel.socket.nio.NioDatagramChannel
at io.netty.channel.ReflectiveChannelFactory.newChannel(ReflectiveChannelFactory.java:40)
at io.netty.bootstrap.AbstractBootstrap.initAndRegister(AbstractBootstrap.java:320)
at io.netty.bootstrap.AbstractBootstrap.register(AbstractBootstrap.java:234)
at io.netty.resolver.dns.DnsNameResolver.<init>(DnsNameResolver.java:394)
at io.netty.resolver.dns.DnsNameResolverBuilder.build(DnsNameResolverBuilder.java:430)
at io.netty.resolver.dns.DnsAddressResolverGroup.newNameResolver(DnsAddressResolverGroup.java:114)
at io.netty.resolver.dns.DnsAddressResolverGroup.newResolver(DnsAddressResolverGroup.java:94)
at io.netty.resolver.dns.DnsAddressResolverGroup.newResolver(DnsAddressResolverGroup.java:79)
at io.netty.resolver.AddressResolverGroup.getResolver(AddressResolverGroup.java:69)
... 22 common frames omitted
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedConstructorAccessor33.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at io.netty.channel.ReflectiveChannelFactory.newChannel(ReflectiveChannelFactory.java:38)
... 30 common frames omitted
Caused by: io.netty.channel.ChannelException: Failed to open a socket.
at io.netty.channel.socket.nio.NioDatagramChannel.newSocket(NioDatagramChannel.java:88)
at io.netty.channel.socket.nio.NioDatagramChannel.<init>(NioDatagramChannel.java:116)
... 34 common frames omitted
Caused by: java.net.SocketException: maximum number of DatagramSockets reached
at sun.net.ResourceManager.beforeUdpCreate(ResourceManager.java:73)
at sun.nio.ch.DatagramChannelImpl.<init>(DatagramChannelImpl.java:111)
at sun.nio.ch.SelectorProviderImpl.openDatagramChannel(SelectorProviderImpl.java:42)
at io.netty.channel.socket.nio.NioDatagramChannel.newSocket(NioDatagramChannel.java:86)
... 35 common frames omitted
Steps to reproduce or test case
Redis version
2.8.19 with embedded-redis
Redisson version
3.9.1
Redisson configuration
final org.redisson.config.Config rConfig = new org.redisson.config.Config()
.setTransportMode(TransportMode.NIO);
rConfig.useSingleServer()
.setAddress("redis://localhost:6614")
.setPassword(password);
Issue Analytics
- State:
- Created 5 years ago
- Comments:12 (4 by maintainers)
Top Results From Across the Web
Embedded Redis for Spring Boot - java - Stack Overflow
But I want an embedded Redis server which is not dependent on any server and can run on any environment, like the H2...
Read more >Release News - Contrast Documentation
Contrast is now compatible with CVSS 3.1. Contact support to request CVSS 3 scoring be enabled and this will immediately update all CVEs....
Read more >Start a Local Embedded Cluster
This tutorial introduces you to Hazelcast in an embedded topology. At the end of this tutorial, you'll know how to start a cluster...
Read more >Bug listing with status UNCONFIRMED as at 2022/12/12 00 ...
Bug:128538 - "sys-apps/coreutils: /bin/hostname should be installed from coreutils not sys-apps/net-tools" status:UNCONFIRMED resolution: severity:enhancement ...
Read more >Embedded Redis Server with Spring Boot Test - Baeldung
Ideally, we'd like to start it on the random available port but embedded Redis doesn't have this feature yet. What we could do...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
The JVM appears to limit the number of DatagramSockets to 25 by default, and now that Redisson has 32 Netty threads by default it appears that more Netty threads are created than the allowed amount of DatagramSockets (I’m assuming 32 are created). So the other option is to decrease the number of Netty threads that Redisson creates through its configuration.
@lbispham just add it as a VM option when you start play framework from the command line