[Geoserver-devel] [JIRA] (GEOS-8122) Intermittent failure of FileUtils.deleteDirectory in SystemTestData.tearDown

Ben Caradoc-Davies [Administrator] created an issue

GeoServer / BugGEOS-8122

Intermittent failure of FileUtils.deleteDirectory in SystemTestData.tearDown

Issue Type:

BugBug

Affects Versions:

2.12-beta

Assignee:

Ben Caradoc-Davies [Administrator]

Components:

Main

Created:

03/May/17 3:30 AM

Priority:

MediumMedium

Reporter:

Ben Caradoc-Davies [Administrator]

We often see build failures of FileUtils.deleteDirectory in SystemTestData.tearDown.

http://ares.boundlessgeo.com/jenkins/job/geoserver-master/4638/consoleText

org.geoserver.wfs.v2_0.GetFeatureJoinTest  Time elapsed: 56 sec  <<< ERROR!
java.io.IOException: Unable to delete directory ./target/default6619173959064498977data.
	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1337)
	at org.geoserver.data.test.SystemTestData.tearDown(SystemTestData.java:1026)
	at org.geoserver.test.GeoServerBaseTestSupport.doTearDownClass(GeoServerBaseTestSupport.java:206)

http://ares.boundlessgeo.com/jenkins/job/geoserver-master/4672/consoleText

ests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 6.075 sec <<< FAILURE!
org.geoserver.wps.web.ProcessStatusPageTest  Time elapsed: 6072 sec  <<< ERROR!
java.io.IOException: Unable to delete directory ./target/default5475053532950449796data/temp/wps/e4fa42c3-fd2a-48f0-ae6b-d83fb7ec34d6.
	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1337)
	at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1910)
	at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1399)
	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1331)
	at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1910)
	at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1399)
	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1331)
	at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:1910)
	at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1399)
	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1331)
	at org.geoserver.data.test.SystemTestData.tearDown(SystemTestData.java:1026)
	at org.geoserver.test.GeoServerBaseTestSupport.doTearDownClass(GeoServerBaseTestSupport.java:206)

http://ares.boundlessgeo.com/jenkins/job/geoserver-master/4674/consoleText

Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 7.975 sec <<< FAILURE!
org.geoserver.netcdf.NetCDFGetFeatureInfoTest  Time elapsed: 7972 sec  <<< ERROR!
java.io.IOException: Unable to delete directory ./target/default8989027234526976461data.
	at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1337)
	at org.geoserver.data.test.SystemTestData.tearDown(SystemTestData.java:1026)
	at org.geoserver.test.GeoServerBaseTestSupport.doTearDownClass(GeoServerBaseTestSupport.java:206)

These failures are hard to reproduce locally, but running org.geoserver.wfs.v2_0.GetFeatureJoinTest in Eclipse reveals files like src/wfs/target/default7740998516718894422data/foo.2.log.db that are not cleaned. This indicates that data stores (in the case H2) are still writing to the data directory location and have not been disposed. Adding a breakpoint shows that CatalogImpl.dispose is never hit. Furthermore GeoServerImpl.dispose() is never called. The fix is to add a call to GeoServer.dispose() in GeoServerSystemTestSupport.destroyGeoServer() to ensure that all data stores are disposed before the data directory is removed. This change prevents the stale H2 cruft foo.2.log.db from being left behind when running org.geoserver.wfs.v2_0.GetFeatureJoinTest in Eclipse. It also causes new GWCIntegrationTest failures, under investigation.

Add Comment

Add Comment

This message was sent by Atlassian JIRA (v1000.929.1#100040-sha1:44337ab)

Atlassian logo