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

Anbang Hu commented on HDFS-13587:
----------------------------------

On Windows, testNewerVersionOfSegmentWins2 seems to leave behind a Java handle 
that holds 
E:\OSS\hadoop-branch-2\hadoop-hdfs-project\hadoop-hdfs\target\test\data\dfs\journalnode-1\test-journal\current\committed-txid
 that causes the following tests to fail. My proposal is to randomize the 
journalnode path for each unit tests for the purpose of isolation.

> TestQuorumJournalManager fails on Windows
> -----------------------------------------
>
>                 Key: HDFS-13587
>                 URL: https://issues.apache.org/jira/browse/HDFS-13587
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Anbang Hu
>            Assignee: Anbang Hu
>            Priority: Major
>              Labels: Windows
>         Attachments: HDFS-13587.000.patch
>
>
> There are 12 test failures in TestQuorumJournalManager on Windows. Local run 
> shows:
> {color:#d04437}[INFO] Running 
> org.apache.hadoop.hdfs.qjournal.client.TestQuorumJournalManager
> [ERROR] Tests run: 21, Failures: 0, Errors: 12, Skipped: 0, Time elapsed: 
> 106.81 s <<< FAILURE! - in 
> org.apache.hadoop.hdfs.qjournal.client.TestQuorumJournalManager
> [ERROR] 
> testCrashBetweenSyncLogAndPersistPaxosData(org.apache.hadoop.hdfs.qjournal.client.TestQuorumJournalManager)
>   Time elapsed: 1.93 s  <<< ERROR!
> org.apache.hadoop.hdfs.qjournal.client.QuorumException:
> Could not format one or more JournalNodes. 2 successful responses:
> 127.0.0.1:27044: null [success]
> 127.0.0.1:27064: null [success]
> 1 exceptions thrown:
> 127.0.0.1:27054: Directory 
> E:\OSS\hadoop-branch-2\hadoop-hdfs-project\hadoop-hdfs\target\test\data\dfs\journalnode-1\test-journal
>  is in an inconsistent state: Can't format the storage directory because the 
> current directory is not empty.
>         at 
> org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.checkEmptyCurrent(Storage.java:498)
>         at 
> org.apache.hadoop.hdfs.server.common.Storage$StorageDirectory.analyzeStorage(Storage.java:574)
>         at 
> org.apache.hadoop.hdfs.qjournal.server.JNStorage.format(JNStorage.java:185)
>         at 
> org.apache.hadoop.hdfs.qjournal.server.Journal.format(Journal.java:221)
>         at 
> org.apache.hadoop.hdfs.qjournal.server.JournalNodeRpcServer.format(JournalNodeRpcServer.java:157)
>         at 
> org.apache.hadoop.hdfs.qjournal.protocolPB.QJournalProtocolServerSideTranslatorPB.format(QJournalProtocolServerSideTranslatorPB.java:145)
>         at 
> org.apache.hadoop.hdfs.qjournal.protocol.QJournalProtocolProtos$QJournalProtocolService$2.callBlockingMethod(QJournalProtocolProtos.java:25419)
>         at 
> org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:503)
>         at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989)
>         at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:871)
>         at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:817)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at javax.security.auth.Subject.doAs(Subject.java:422)
>         at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1889)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2606)
>         at 
> org.apache.hadoop.hdfs.qjournal.client.QuorumException.create(QuorumException.java:81)
>         at 
> org.apache.hadoop.hdfs.qjournal.client.QuorumCall.rethrowException(QuorumCall.java:286)
>         at 
> org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager.format(QuorumJournalManager.java:212)
>         at 
> org.apache.hadoop.hdfs.qjournal.client.TestQuorumJournalManager.setup(TestQuorumJournalManager.java:109)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         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.RunBefores.evaluate(RunBefores.java:24)
>         at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
>         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.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
>         at 
> org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
>         at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:413)
> ...
> [ERROR] Errors:
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [ERROR]   TestQuorumJournalManager.setup:109 ╗ Quorum Could not format one or 
> more Journ...
> [INFO]
> [ERROR] Tests run: 21, Failures: 0, Errors: 12, Skipped: 0{color}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to