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

Ayush Saxena commented on HDFS-16996:
-------------------------------------

Thanx [~umamaheswararao] for the report. Affect Version: 1.3.0 sounds like a 
ozone thing :) 

Regarding the test:

Two tests failed in the said class in first run and passed in the second run (I 
changed it long back to run the failing test twice)

 
{noformat}
[WARNING] 
org.apache.hadoop.hdfs.TestFileCreation.testFsCloseAfterClusterShutdown(org.apache.hadoop.hdfs.TestFileCreation)
[ERROR]   Run 1: TestFileCreation.testFsCloseAfterClusterShutdown:1198 Test 
resulted in an unexpected exit: 1: Block report processor encountered fatal 
exception: java.lang.ClassCastException: org.apache.hadoop.fs.FsServerDefaults 
cannot be cast to java.lang.Boolean
[INFO]   Run 2: PASS
[INFO] 
[WARNING] 
org.apache.hadoop.hdfs.TestFileCreation.testServerDefaultsWithMinimalCaching(org.apache.hadoop.hdfs.TestFileCreation)
[ERROR]   Run 1: TestFileCreation.testServerDefaultsWithMinimalCaching:277 » 
Timeout Timed out ...
[INFO]   Run 2: PASS{noformat}
The reason for failures:

 

The first test that ran was: *testServerDefaultsWithMinimalCaching*

 
{noformat}
ERROR] 
testServerDefaultsWithMinimalCaching(org.apache.hadoop.hdfs.TestFileCreation)  
Time elapsed: 8.833 s  <<< ERROR!
java.util.concurrent.TimeoutException: 
Timed out waiting for condition. {noformat}
 

It failed on timeout, may be now requires a higher timeout

The second one {*}testFsCloseAfterClusterShutdown{*}, for which the trace is 
attached in the description, ran just after it

 
{noformat}
[ERROR] 
testFsCloseAfterClusterShutdown(org.apache.hadoop.hdfs.TestFileCreation)  Time 
elapsed: 1.725 s  <<< FAILURE!
java.lang.AssertionError: Test resulted in an unexpected exit: 1: Block report 
processor encountered fatal exception: java.lang.ClassCastException: 
org.apache.hadoop.fs.FsServerDefaults cannot be cast to java.lang.Boolean
        at 
org.apache.hadoop.hdfs.MiniDFSCluster.shutdown(MiniDFSCluster.java:2166){noformat}
That initially sounds crazy, but I tried to reproduce locally, it is mere 
mockito thing

 

 
{noformat}
org.apache.hadoop.hdfs.server.namenode.FSNamesystem$MockitoMock$1733010162.isRunning(Unknown
 Source)
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$BlockReportProcessingThread.processQueue(BlockManager.java:5457)
org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$BlockReportProcessingThread.run(BlockManager.java:5447){noformat}
The first test does use Mockito on FsNamesystem to return a server default, and 
guess that messed up the call on FsN in the subsequent test when the first test 
failed.

 

May be doing 

*Mockito.reset(spyNamesystem);* in the finally block of 
*testServerDefaultsWithMinimalCaching* should solve your problem. there should 
be more fancy ways as well, but this is what came into my mind at first, and it 
did work for me

 

One easy way to reproduce the problem is just replace the GenericTestUtils.wait 
for block in the test *testServerDefaultsWithMinimalCaching* with 
testServerDefaultsWithMinimalCaching

*throw new IOException("ABC");* and run the entire test class, so 
*testServerDefaultsWithMinimalCaching* will fail and subsequently the next test 
*testFsCloseAfterClusterShutdown* will fail with the exception you attached in 
the description. 

 

Lemme know if it works, else I can try to find something more fancy during the 
weekend. :) 

> TestFileCreation failed with ClassCastException
> -----------------------------------------------
>
>                 Key: HDFS-16996
>                 URL: https://issues.apache.org/jira/browse/HDFS-16996
>             Project: Hadoop HDFS
>          Issue Type: Bug
>            Reporter: Uma Maheswara Rao G
>            Priority: Major
>
> {code:java}
> [ERROR] 
> testFsCloseAfterClusterShutdown(org.apache.hadoop.hdfs.TestFileCreation) Time 
> elapsed: 1.725 s <<< FAILURE! java.lang.AssertionError: Test resulted in an 
> unexpected exit: 1: Block report processor encountered fatal exception: 
> java.lang.ClassCastException: org.apache.hadoop.fs.FsServerDefaults cannot be 
> cast to java.lang.Boolean at 
> org.apache.hadoop.hdfs.MiniDFSCluster.shutdown(MiniDFSCluster.java:2166) at 
> org.apache.hadoop.hdfs.MiniDFSCluster.shutdown(MiniDFSCluster.java:2152) at 
> org.apache.hadoop.hdfs.MiniDFSCluster.shutdown(MiniDFSCluster.java:2145) at 
> org.apache.hadoop.hdfs.TestFileCreation.testFsCloseAfterClusterShutdown(TestFileCreation.java:1198)
>  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:59)
>  at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>  at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
>  at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>  at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at 
> org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
>  at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366) at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
>  at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
>  at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) at 
> org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) at 
> org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) at 
> org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) at 
> org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) at 
> org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) at 
> org.junit.runners.ParentRunner.run(ParentRunner.java:413) 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:384)
>  at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
>  at 
> org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) 
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) 
> Caused by: 1: Block report processor encountered fatal exception: 
> java.lang.ClassCastException: org.apache.hadoop.fs.FsServerDefaults cannot be 
> cast to java.lang.Boolean at 
> org.apache.hadoop.util.ExitUtil.terminate(ExitUtil.java:381) at 
> org.apache.hadoop.hdfs.server.blockmanagement.BlockManager$BlockReportProcessingThread.run(BlockManager.java:5451){code}
> https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5532/10/artifact/out/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to