[
https://issues.apache.org/jira/browse/THRIFT-4251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16125040#comment-16125040
]
ASF GitHub Bot commented on THRIFT-4251:
----------------------------------------
Github user jeking3 commented on the issue:
https://github.com/apache/thrift/pull/1313
However, as with all the other issues, they were already resolved, so the
fact you are still seeing this with a recent kernel and java version means
there's still a bug that needs to be fixed somewhere. There shouldn't be a
workaround in every Java program that uses a Selector(). I would still
encourage you to come up with a simple example that demonstrates it without
Thrift involved and report it upstream.
> Epoll Selector Bug
> ------------------
>
> Key: THRIFT-4251
> URL: https://issues.apache.org/jira/browse/THRIFT-4251
> Project: Thrift
> Issue Type: Bug
> Components: Java - Compiler, Java - Library
> Affects Versions: 0.10.0
> Environment: Linux version 3.10.0-327.el7.x86_64
> ([email protected])
> java version "1.8.0_131"
> Reporter: JohnnyLiao
> Labels: epoll, jdk, selector
>
> Thrift java unsolve the infamous epoll bug. It's consum 100% cpu resource
> when this occured. It seems to affect any NIO based Java server applications
> running in the specified environment. Some projects provide workarounds for
> similar JDK bugs, for example replaces the current Selector of this
> SelectorThread.select with newly created Selector.
> Stack Traceļ¼
> "Thread-46" #95 prio=5 os_prio=0 tid=0x00007fc79cd02800 nid=0xb1 runnable
> [0x00007fc580bd1000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0x000000008012f748> (a sun.nio.ch.Util$3)
> - locked <0x000000008012f738> (a
> java.util.Collections$UnmodifiableSet)
> - locked <0x0000000080120f58> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
> at
> org.apache.thrift.server.TThreadedSelectorServer$SelectorThread.select(TThreadedSelectorServer.java:570)
> at
> org.apache.thrift.server.TThreadedSelectorServer$SelectorThread.run(TThreadedSelectorServer.java:541)
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)