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.

Local Embedded Redis does not work with 3.9.1

See original GitHub issue

Here 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:closed
  • Created 5 years ago
  • Comments:12 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
0xadamcommented, May 8, 2019

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.

1reaction
Flo354commented, Apr 30, 2019

@lbispham just add it as a VM option when you start play framework from the command line

Read more comments on GitHub >

github_iconTop 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 >

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