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)