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 
(buil...@kbuilder.dev.centos.org)
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)

Reply via email to