Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-19147 All branch-2 unit tests pass
  3. HBASE-19866

TestRegionServerReportForDuty doesn't timeout

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 2.0.0-beta-2, 2.0.0
    • rpc
    • None
    • Reviewed

    Description

      So reading around junit docs (https://github.com/junit-team/junit4/wiki/timeout-for-tests), looks like the reason is result of these two rules:

      • @Test(timeout=X) applies only on the test function, and not on whole test fixture (@After, @Before, etc)
      • Timeout rule applies on whole test fixture

      TestRegionServerReportForDuty just has @Test(timeout=180000) and no Timeout rule unlike we have in so many other tests.
      The test method, in the logs I have, runs in less then 60 sec. So it meets the timeout specified in @Test annotation.
      However, we get stuck in tearDown, and since there is no Timeout rule, it keeps on running until surefire kills the JVM after forkedProcessTimeoutInSeconds (set to 900 sec).
      Let use the "Timeout" rule instead of @Test(timeout=180000).

      However, note that this won't solve the root cause of hangup. It'll just make the test fail neatly rather than getting stuck and requiring surefire plugin to kill the forked JVMs (see HBASE-19803).

      Attachments

        1. HBASE-19866.patch
          2 kB
          Duo Zhang

        Issue Links

          Activity

            People

              zhangduo Duo Zhang
              appy Apekshit Sharma
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: