hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19803) False positive for the HBASE-Find-Flaky-Tests job
Date Thu, 25 Jan 2018 07:33:00 GMT

    [ https://issues.apache.org/jira/browse/HBASE-19803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16338855#comment-16338855
] 

Duo Zhang commented on HBASE-19803:
-----------------------------------

Checked the stacktrace a bit
{noformat}
org.apache.hadoop.hbase.HConstants$ExitException: There is no escape!
        at org.apache.hadoop.hbase.HConstants$NoExitSecurityManager.checkExit(HConstants.java:63)
        at java.lang.Runtime.halt(Runtime.java:273)
        at org.apache.maven.surefire.booter.ForkedBooter.kill(ForkedBooter.java:300)
        at org.apache.maven.surefire.booter.ForkedBooter.kill(ForkedBooter.java:294)
        at org.apache.maven.surefire.booter.ForkedBooter.access$300(ForkedBooter.java:68)
        at org.apache.maven.surefire.booter.ForkedBooter$4.update(ForkedBooter.java:247)
        at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.insertToListeners(CommandReader.java:475)
        at org.apache.maven.surefire.booter.CommandReader$CommandRunnable.run(CommandReader.java:421)
        at java.lang.Thread.run(Thread.java:748)
{noformat}

https://github.com/apache/maven-surefire/blob/surefire-2.20.1/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java#L421

https://github.com/apache/maven-surefire/blob/surefire-2.20.1/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java#L247

I think it is obvious that the UT is killed by the surefire itself. CommandReader is a class
that keep reading data from stdin to get commands from the plugin process. And in the ForkedBooter,
we actually do the kill job by calling System.exit, see the below code.

{code}
                    DumpErrorSingleton.getSingleton()
                            .dumpText( "Killing self fork JVM. Received SHUTDOWN command from
Maven shutdown hook." );
                    kill();
{code}

This is not a kill by signal since the command is gotten from stdin. I think this is correct
direction to go, find out why the plugin process(or called maven master process?) wants to
kill the forked test process.

Thanks.

> False positive for the HBASE-Find-Flaky-Tests job
> -------------------------------------------------
>
>                 Key: HBASE-19803
>                 URL: https://issues.apache.org/jira/browse/HBASE-19803
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Duo Zhang
>            Priority: Major
>         Attachments: 2018-01-24T17-45-37_000-jvmRun1.dumpstream, HBASE-19803.master.001.patch
>
>
> It reports two hangs for TestAsyncTableGetMultiThreaded, but I checked the surefire output
> https://builds.apache.org/job/HBASE-Flaky-Tests/24830/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.client.TestAsyncTableGetMultiThreaded-output.txt
> This one was likely to be killed in the middle of the run within 20 seconds.
> https://builds.apache.org/job/HBASE-Flaky-Tests/24852/artifact/hbase-server/target/surefire-reports/org.apache.hadoop.hbase.client.TestAsyncTableGetMultiThreaded-output.txt
> This one was also killed within about 1 minutes.
> The test is declared as LargeTests so the time limit should be 10 minutes. It seems that
the jvm may crash during the mvn test run and then we will kill all the running tests and
then we may mark some of them as hang which leads to the false positive.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message