You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/13 03:19:01 UTC

[jira] [Commented] (THRIFT-4251) Epoll Selector Bug

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

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

Github user jeking3 commented on the issue:

    https://github.com/apache/thrift/pull/1313
  
    According to the documentation of the defect that triggered this (http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6670302), it indicates this only occurs in kernel 2.4 series, and if you move to kernel 2.6 this issue goes away.  Given this is an operating system defect, I'm inclined to recommend we do not merge this and resolve it as won't fix, because it isn't a defect in Thrift or in Java, but rather in the operating system it is running on.


> 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 (builder@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)