Description
Found flaky unit test in Knox:
org.apache.hadoop.gateway.GatewayAppFuncTest.testDefaultTopology
The problem occurs when the run is a little bit slower. The directory deletion during test cleanup fails due to missing directories. The directories are being deleted by Knox TopologyService.
The problem in code where the second deletion is failing sometimes:
@After public void cleanupTest() throws Exception { FileUtils.cleanDirectory( new File( config.getGatewayTopologyDir() ) ); FileUtils.cleanDirectory( new File( config.getGatewayDeploymentDir() ) ); }
Due to removing working directories are being deleted during cleanupSuite I suggest remove deployment directory ignoring file-not-found errors. For example:
@After public void cleanupTest() throws Exception { ... FileUtils.deleteQuietly( new File( config.getGatewayDeploymentDir() ) ); }
Reproduction:
Place a breakpoint at the deployment deletion and then slowly follow the steps. During in a file browser the deletion can be seen.