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

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

GitHub user Johnny-Liao opened a pull request:

    https://github.com/apache/thrift/pull/1313

    THRIFT-4251 Fix JDK Epoll Bug in Thrift of TThreadedSelectorServer model.

    Such as the title. More information see : 
https://issues.apache.org/jira/browse/THRIFT-4251

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/Johnny-Liao/thrift THRIFT-4251

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1313.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1313
    
----
commit 4dc1eb98e4b750a25ba0ed64c207fd64f24a7f31
Author: Johnny-Liao <1020157***@qq.com>
Date:   2017-07-25T06:23:28Z

    THRIFT-4251 Fix JDK Epoll Bug in Thrift of TThreadedSelectorServer model.

----


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

Reply via email to