[ https://issues.apache.org/jira/browse/HDFS-11818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16450729#comment-16450729 ]
Hudson commented on HDFS-11818: ------------------------------- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #14057 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/14057/]) HDFS-11818. TestBlockManager.testSufficientlyReplBlocksUsesNewRack fails (xyao: rev 0fe0687c3e5bd456d2c09e9532eaf3a5617f720c) * (edit) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java > TestBlockManager.testSufficientlyReplBlocksUsesNewRack fails intermittently > --------------------------------------------------------------------------- > > Key: HDFS-11818 > URL: https://issues.apache.org/jira/browse/HDFS-11818 > Project: Hadoop HDFS > Issue Type: Bug > Affects Versions: 3.0.0-alpha2, 2.8.2 > Reporter: Eric Badger > Assignee: Nathan Roberts > Priority: Major > Fix For: 2.9.0, 3.0.0-alpha4, 2.8.2 > > Attachments: HDFS-11818-branch-2.patch, HDFS-11818.patch > > > Saw a weird Mockito failure in last night's build with the following stack > trace: > {noformat} > org.mockito.exceptions.misusing.WrongTypeOfReturnValue: > INodeFile cannot be returned by isRunning() > isRunning() should return boolean > at > org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager.addBlockOnNodes(TestBlockManager.java:555) > at > org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager.doTestSufficientlyReplBlocksUsesNewRack(TestBlockManager.java:404) > at > org.apache.hadoop.hdfs.server.blockmanagement.TestBlockManager.testSufficientlyReplBlocksUsesNewRack(TestBlockManager.java:397) > {noformat} > This is pretty confusing since we explicitly set isRunning() to return true > in TestBlockManager's \@Before method > {noformat} > 154 Mockito.doReturn(true).when(fsn).isRunning(); > {noformat} > Also saw the following exception in the logs: > {noformat} > 2017-05-12 05:42:27,903 ERROR blockmanagement.BlockManager > (BlockManager.java:run(2796)) - Error while processing replication queues > async > org.mockito.exceptions.base.MockitoException: > 'writeLockInterruptibly' is a *void method* and it *cannot* be stubbed with a > *return value*! > Voids are usually stubbed with Throwables: > doThrow(exception).when(mock).someVoidMethod(); > If the method you are trying to stub is *overloaded* then make sure you are > calling the right overloaded version. > at > org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processMisReplicatesAsync(BlockManager.java:2841) > at > org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.access$100(BlockManager.java:120) > at > org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$1.run(BlockManager.java:2792) > {noformat} > This is also weird since we don't do any explicit mocking with > {{writeLockInterruptibly}} via fsn in the test. It has to be something > changing the mocks or non-thread safe access or something like that. I can't > explain the failures otherwise. -- 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