Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.10.0
-
Linux version 3.10.0-327.el7.x86_64 (builder@kbuilder.dev.centos.org)
java version "1.8.0_131"
Description
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)
Attachments
Issue Links
- causes
-
THRIFT-4847 CancelledKeyException causes TThreadedSelectorServer to fail.
- Closed
- relates to
-
THRIFT-5230 Fix connection leak and CancelledKeyException when handling Epoll bug
- Closed
- links to