You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-issues@hadoop.apache.org by "Ivan Mitic (JIRA)" <ji...@apache.org> on 2013/03/11 09:43:15 UTC

[jira] [Updated] (HDFS-4583) TestNodeCount fails with: Timeout: excess replica count not equal to 2

     [ https://issues.apache.org/jira/browse/HDFS-4583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ivan Mitic updated HDFS-4583:
-----------------------------

    Attachment: HDFS-4583.trunk.patch

Attaching the patch.

The test consistently fails on Windows because it incorrectly picks the excess datanode on the place where it is explicitly looking for a non-excess node. This happens because {{blocks.contains()}} tries to match the ExtendedBlock object in the collection of Block objects what always fails.

>From the test log:
{quote}
2013-03-11 01:26:48,890 INFO  BlockStateChange (BlockManager.java:chooseExcessReplicates(2439)) - BLOCK* chooseExcessReplicates: (127.0.0.1:61959, blk_6432712012621304004_1002) is added to invalidated blocks set
...
...
...
2013-03-11 01:26:48,989 INFO  hdfs.MiniDFSCluster (MiniDFSCluster.java:stopDataNode(1607)) - DN name= 127.0.0.1:61959  found DN=DataNode{data=FSDataset 
{quote}

                
> TestNodeCount fails with: Timeout: excess replica count not equal to 2
> ----------------------------------------------------------------------
>
>                 Key: HDFS-4583
>                 URL: https://issues.apache.org/jira/browse/HDFS-4583
>             Project: Hadoop HDFS
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: Ivan Mitic
>            Assignee: Ivan Mitic
>         Attachments: HDFS-4583.trunk.patch
>
>
> Test fails on the following assertion:
> java.util.concurrent.TimeoutException: Timeout: excess replica count not equal to 2 for block blk_6432712012621304004_1002 after 20000 msec.  Last counts: live = 2, excess = 1, corrupt = 0
> 	at org.apache.hadoop.hdfs.server.blockmanagement.TestNodeCount.checkTimeout(TestNodeCount.java:155)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.TestNodeCount.checkTimeout(TestNodeCount.java:149)
> 	at org.apache.hadoop.hdfs.server.blockmanagement.TestNodeCount.testNodeCount(TestNodeCount.java:133)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
> 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
> 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
> 	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
> 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
> 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
> 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
> 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
> 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
> 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
> 	at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
> 	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> 	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> 	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira