Eric Badger created HDFS-11818: ---------------------------------- Summary: TestBlockManager.testSufficientlyReplBlocksUsesNewRack fails intermittently Key: HDFS-11818 URL: https://issues.apache.org/jira/browse/HDFS-11818 Project: Hadoop HDFS Issue Type: Bug Reporter: Eric Badger
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 (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-dev-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-dev-h...@hadoop.apache.org