Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-2378

org.apache.oozie.client.TestOozieCLI.testAdminInstrumentation is flakey

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: trunk
    • Fix Version/s: 4.3.0
    • Component/s: tests
    • Labels:
      None

      Description

      org.apache.oozie.client.TestOozieCLI.testAdminInstrumentation is flakey.

      junit.framework.AssertionFailedError
      	at junit.framework.Assert.fail(Assert.java:48)
      	at junit.framework.Assert.assertTrue(Assert.java:20)
      	at junit.framework.Assert.assertTrue(Assert.java:27)
      	at org.apache.oozie.client.TestOozieCLI$57.call(TestOozieCLI.java:1505)
      	at org.apache.oozie.client.TestOozieCLI$57.call(TestOozieCLI.java:1496)
      	at org.apache.oozie.servlet.DagServletTestCase.runTest(DagServletTestCase.java:94)
      	at org.apache.oozie.client.TestOozieCLI.testAdminInstrumentation(TestOozieCLI.java:1496)
      	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 junit.framework.TestCase.runTest(TestCase.java:168)
      	at junit.framework.TestCase.runBare(TestCase.java:134)
      	at junit.framework.TestResult$1.protect(TestResult.java:110)
      	at junit.framework.TestResult.runProtected(TestResult.java:128)
      	at junit.framework.TestResult.run(TestResult.java:113)
      	at junit.framework.TestCase.run(TestCase.java:124)
      	at junit.framework.TestSuite.runTest(TestSuite.java:243)
      	at junit.framework.TestSuite.run(TestSuite.java:238)
      	at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
      	at org.junit.runners.Suite.runChild(Suite.java:128)
      	at org.junit.runners.Suite.runChild(Suite.java:24)
      	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:744)
      

      If testAdminMetrics() happens to run before testAdminInstrumentation(), then V2AdminServlet will "remember" to use the /metrics endpoint instead of the /instrumentation endpoint because once set, it never gets unset. Even though the tests start a new instance of the servlet each time, the setting is in a static variable, so it persists.

        Attachments

          Activity

            People

            • Assignee:
              rkanter Robert Kanter
              Reporter:
              rkanter Robert Kanter
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: