[ 
https://issues.apache.org/jira/browse/THRIFT-4251?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16124801#comment-16124801
 ] 

ASF GitHub Bot commented on THRIFT-4251:
----------------------------------------

Github user Johnny-Liao commented on the issue:

    https://github.com/apache/thrift/pull/1313
  
    My linux kernel is 3.10.0 when this bug occured. And I'm pretty sure that 
still trouble many people who dependence Thrift to implements theirs server 
program. Netty uses this approach to mask the underlying problem and why can't 
we.


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

Reply via email to