Uploaded image for project: 'HttpComponents HttpCore'
  1. HttpComponents HttpCore
  2. HTTPCORE-409

NIO HttpServer Does Not Shutdown Listener ExecutorService

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 4.4.3
    • 4.4.4, 5.0-alpha1
    • HttpCore NIO
    • None

    Description

      org.apache.http.impl.nio.bootstrap.HttpServer does not shutdown its listenerExecutorService. This causes the following thread to stay alive even after calling shutdown on HttpServer:

      "HTTP-listener-8080-1" #11 prio=5 os_prio=31 tid=0x00007fc934887000 nid=0x6c03 waiting on condition [0x0000000120c8d000]
      java.lang.Thread.State: WAITING (parking)
      at sun.misc.Unsafe.park(Native Method)

      • parking to wait for <0x000000076c0697e0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
        at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
        at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1067)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1127)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

      As a result the applications that use this HttpServer do not exit gracefully.

      Note: The blocking HttpServer does shutdown this ExecutorService, and hence the problem only occurs in the NIO HttpServer.

      Attachments

        1. HTTPCORE-409.patch
          0.5 kB
          Hiranya Kasub Jayathilaka

        Activity

          People

            Unassigned Unassigned
            hiranya Hiranya Kasub Jayathilaka
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: