You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@slider.apache.org by st...@apache.org on 2014/11/11 15:37:37 UTC
incubator-slider git commit: SLIDER-622 bypass Haddop APIs and go to
commons IO directory delete if the path is file://
Repository: incubator-slider
Updated Branches:
refs/heads/feature/SLIDER-622-windows 3dd6ac495 -> 89073b134
SLIDER-622 bypass Haddop APIs and go to commons IO directory delete if the path is file://
Project: http://git-wip-us.apache.org/repos/asf/incubator-slider/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-slider/commit/89073b13
Tree: http://git-wip-us.apache.org/repos/asf/incubator-slider/tree/89073b13
Diff: http://git-wip-us.apache.org/repos/asf/incubator-slider/diff/89073b13
Branch: refs/heads/feature/SLIDER-622-windows
Commit: 89073b13444728eded65d93373058bac227585ec
Parents: 3dd6ac4
Author: Steve Loughran <st...@apache.org>
Authored: Tue Nov 11 14:37:28 2014 +0000
Committer: Steve Loughran <st...@apache.org>
Committed: Tue Nov 11 14:37:28 2014 +0000
----------------------------------------------------------------------
.../slider/test/YarnMiniClusterTestBase.groovy | 38 +++++++++++++++++---
1 file changed, 34 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-slider/blob/89073b13/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
----------------------------------------------------------------------
diff --git a/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy b/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
index a816a0d..856ad11 100644
--- a/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
+++ b/slider-core/src/test/groovy/org/apache/slider/test/YarnMiniClusterTestBase.groovy
@@ -19,6 +19,7 @@
package org.apache.slider.test
import groovy.util.logging.Slf4j
+import org.apache.commons.io.FileUtils
import org.apache.commons.logging.Log
import org.apache.commons.logging.LogFactory
import org.apache.hadoop.conf.Configuration
@@ -572,18 +573,47 @@ public abstract class YarnMiniClusterTestBase extends ServiceLauncherBaseTest {
public void rigorousDelete(
SliderFileSystem sliderFileSystem,
Path path, long timeout) {
+
+ if (path.toUri().scheme == "file") {
+ File dir = new File(path.toUri().getPath());
+ rigorousDelete(dir, timeout)
+ } else {
+ Duration duration = new Duration(timeout)
+ duration.start()
+ HadoopFS dfs = sliderFileSystem.fileSystem
+ boolean deleted = false;
+ while (!deleted && !duration.limitExceeded) {
+ dfs.delete(path, true)
+ deleted = !dfs.exists(path)
+ if (!deleted) {
+ sleep(1000)
+ }
+ }
+ }
+ sliderFileSystem.verifyDirectoryNonexistent(path)
+ }
+
+ /**
+ * Delete with some pauses and backoff; designed to handle slow delete
+ * operation in windows
+ * @param dir dir to delete
+ * @param timeout timeout in millis
+ */
+ public void rigorousDelete(File dir, long timeout) {
Duration duration = new Duration(timeout)
duration.start()
- HadoopFS dfs = sliderFileSystem.fileSystem
boolean deleted = false;
while (!deleted && !duration.limitExceeded) {
- dfs.delete(path, true)
- deleted = !dfs.exists(path)
+ FileUtils.deleteQuietly(dir)
+ deleted = !dir.exists()
if (!deleted) {
sleep(1000)
}
}
- sliderFileSystem.verifyDirectoryNonexistent(path)
+ if (!deleted) {
+ // noisy delete raises an IOE
+ FileUtils.deleteDirectory(dir)
+ }
}
/**