JohnnyLiao created THRIFT-4251:
----------------------------------
Summary: 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
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)