Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4251

Java Epoll Selector Bug

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.10.0
    • 0.11.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

          Activity

            People

              jking3 James E. King III
              JohnLiao JohnnyLiao
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: