thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (THRIFT-4251) Epoll Selector Bug
Date Sun, 13 Aug 2017 03:19:01 GMT

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

Mime
View raw message