I recently upgraded 2.3.0.RELEASE to 2.3.1.RELEASE. (1 days ago) However, an oddity was discovered in which FileOpen occupancy rapidly increased I checked through 'lsof' command in the linux terminal, but a lot of 'socket' was found.
(1 process file open count limit over : 65535..)
java 10307 account *505u sock 0,7 0t0 148421069 protocol: TCP
java 10307 account *506u sock 0,7 0t0 148416289 protocol: TCP
java 10307 account *507u sock 0,7 0t0 148416293 protocol: TCP
java 10307 account *508u sock 0,7 0t0 148421073 protocol: TCP
java 10307 account *509u sock 0,7 0t0 148421070 protocol: TCP
java 10307 account *510u sock 0,7 0t0 148421075 protocol: TCP
java 10307 account *511u sock 0,7 0t0 148416300 protocol: TCP
java 10307 account *512u sock 0,7 0t0 148416298 protocol: TCP
java 10307 account *513u sock 0,7 0t0 148416313 protocol: TCP
java 10307 account *514u sock 0,7 0t0 148421098 protocol: TCP
ErrorCallbackNotImplemented: io.netty.channel.ChannelException: io.netty.channel.unix.Errors$NativeIoException: newSocketStream(..) failed: Too many open files
ChannelException: io.netty.channel.unix.Errors$NativeIoException: newSocketStream(..) failed: Too many open files
at io.netty.channel.unix.Socket.newSocketStream0(Socket.java:421)
at io.netty.channel.epoll.LinuxSocket.newSocketStream(LinuxSocket.java:319)
at io.netty.channel.epoll.LinuxSocket.newSocketStream(LinuxSocket.java:323)
at io.netty.channel.epoll.EpollSocketChannel.<init>(EpollSocketChannel.java:45)
at reactor.netty.resources.DefaultLoopEpoll.getChannel(DefaultLoopEpoll.java:45)
...
(36 additional frame(s) were not displayed)
NativeIoException: newSocketStream(..) failed: Too many open files
There is no problem until 2.3.0. If you upgrade the version to 2.3.1, a problem occurs. after downgrade version to 2.3.0, file open problem solved.
Comment From: bclozel
This looks a lot like #21923
Could you try and downgrade the Netty tcnative dependency as suggested in the other issue and report back here with your findings?
Thanks!
Comment From: bclozel
This seems to be caused by https://github.com/reactor/reactor-netty/issues/1152
Could you try overriding the reactor-netty dependency to the latest 0.9.9.BUILD-SNAPSHOT and this if this fixes the issue?
Thanks!
Comment From: snicoll
You can override reactor-bom.version
to Dysprosium-BUILD-SNAPSHOT
. We've also switched Spring Boot 2.3.2.BUILD-SNAPSHOT
to use this version by default so in half an hour you could just switch your build to 2.3.2.BUILD-SNAPSHOT
.
Comment From: harutobi
@bclozel @snicoll Thank you for answer. I solved from dependency override that io.projectreactor.netty 0.9.7.RELEASE and 0.9.9.BUILD-SNAPSHOT.
Comment From: bclozel
Downgrading is not fixing the problem, but rather a temporary workaround.
Unless you expect being stuck on that particular reactor netty version forever, testing the version shipping the snapshot would really help the team confirm that this problem is fixed.
Thanks
Comment From: bclozel
Since 0.9.9 fixed the issue, I'm closing this as a duplicate of #21923