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

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0-beta-2, 2.0.0
    • Component/s: rpc
    • Labels:
      None
    • Hadoop Flags:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: