Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-12158

TestHttpServerLifecycle.testStartedServerWithRequestLog goes zombie on occasion

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 0.99.1
    • test
    • None
    • Reviewed

    Description

      Jetty server won't go down when running testStartedServerWithRequestLog. Its stuck in the stop. I tried to fix this before, HBASE-12025. See below how SelectorManager is trying to get lock held by the call to stop on the SelectorManager.

      "1956684235@qtp-1078912108-1 - Acceptor0 SelectChannelConnector@localhost:58604" daemon prio=10 tid=0x00007f11cc896000 nid=0x5c36 waiting for monitor entry [0x00007f116fbdf000]
         java.lang.Thread.State: BLOCKED (on object monitor)
      	at org.mortbay.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:464)
      	- waiting to lock <0x00000007dd57c560> (a org.mortbay.io.nio.SelectorManager$SelectSet)
      	at org.mortbay.io.nio.SelectorManager.doSelect(SelectorManager.java:192)
      	at org.mortbay.jetty.nio.SelectChannelConnector.accept(SelectChannelConnector.java:124)
      	at org.mortbay.jetty.AbstractConnector$Acceptor.run(AbstractConnector.java:708)
      	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
      
      "1786126004@qtp-1078912108-0" daemon prio=10 tid=0x00007f11cc865800 nid=0x5c35 in Object.wait() [0x00007f118c17c000]
         java.lang.Thread.State: TIMED_WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x00000007dd358460> (a org.mortbay.thread.QueuedThreadPool$PoolThread)
      	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:626)
      	- locked <0x00000007dd358460> (a org.mortbay.thread.QueuedThreadPool$PoolThread)
      
      "Service Thread" daemon prio=10 tid=0x00007f11cc290000 nid=0x5c18 runnable [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE
      
      "C2 CompilerThread1" daemon prio=10 tid=0x00007f11cc28e000 nid=0x5c17 waiting on condition [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE
      
      "C2 CompilerThread0" daemon prio=10 tid=0x00007f11cc28b000 nid=0x5c16 waiting on condition [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE
      
      "Signal Dispatcher" daemon prio=10 tid=0x00007f11cc280800 nid=0x5c15 runnable [0x0000000000000000]
         java.lang.Thread.State: RUNNABLE
      
      "Finalizer" daemon prio=10 tid=0x00007f11cc26b000 nid=0x5c14 in Object.wait() [0x00007f118cd3d000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x00000007d8685568> (a java.lang.ref.ReferenceQueue$Lock)
      	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
      	- locked <0x00000007d8685568> (a java.lang.ref.ReferenceQueue$Lock)
      	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
      	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:189)
      
      "Reference Handler" daemon prio=10 tid=0x00007f11cc267000 nid=0x5c13 in Object.wait() [0x00007f118ce3e000]
         java.lang.Thread.State: WAITING (on object monitor)
      	at java.lang.Object.wait(Native Method)
      	- waiting on <0x00000007d86850f0> (a java.lang.ref.Reference$Lock)
      	at java.lang.Object.wait(Object.java:503)
      	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
      	- locked <0x00000007d86850f0> (a java.lang.ref.Reference$Lock)
      
      "main" prio=10 tid=0x00007f11cc00a800 nid=0x5c04 runnable [0x00007f11d367e000]
         java.lang.Thread.State: RUNNABLE
      	at org.mortbay.io.nio.SelectorManager$SelectSet.stop(SelectorManager.java:879)
      	- locked <0x00000007dd57c560> (a org.mortbay.io.nio.SelectorManager$SelectSet)
      	at org.mortbay.io.nio.SelectorManager.doStop(SelectorManager.java:240)
      	at org.mortbay.component.AbstractLifeCycle.stop(AbstractLifeCycle.java:76)
      	- locked <0x00000007dd3490a0> (a java.lang.Object)
      	at org.mortbay.jetty.nio.SelectChannelConnector.close(SelectChannelConnector.java:136)
      	- locked <0x00000007dd348f00> (a org.mortbay.jetty.nio.SelectChannelConnector)
      	at org.apache.hadoop.hbase.http.HttpServer.stop(HttpServer.java:1037)
      	at org.apache.hadoop.hbase.http.HttpServerFunctionalTest.stop(HttpServerFunctionalTest.java:195)
      	at org.apache.hadoop.hbase.http.TestHttpServerLifecycle.testStartedServerWithRequestLog(TestHttpServerLifecycle.java:92)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      	at java.lang.reflect.Method.invoke(Method.java:606)
      	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
      	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
      	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
      	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
      	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
      	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      	at org.junit.runners.Suite.runChild(Suite.java:127)
      	at org.junit.runners.Suite.runChild(Suite.java:26)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
      	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
      	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
      	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
      	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
      	at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
      	at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:113)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:85)
      	at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:54)
      	at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134)
      	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
      	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
      	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
      

      I am just going to remove this test rather than mess around with it. It came in with copy of http server from hadoop.

      Attachments

        1. 12158.txt
          1 kB
          Michael Stack

        Issue Links

          Activity

            People

              stack Michael Stack
              stack Michael Stack
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: