diff --git a/ql/src/java/org/apache/hadoop/hive/ql/Context.java b/ql/src/java/org/apache/hadoop/hive/ql/Context.java index 318c2071d34..a41c5c87998 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/Context.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/Context.java @@ -678,6 +678,8 @@ public void removeScratchDir() { Path p = entry.getValue(); if (p.toUri().getPath().contains(stagingDir) && subDirOf(p, fsScratchDirs.values()) ) { LOG.debug("Skip deleting stagingDir: " + p); + FileSystem fs = p.getFileSystem(conf); + fs.cancelDeleteOnExit(p); continue; // staging dir is deleted when deleting the scratch dir } if(resultCacheDir == null || !p.toUri().getPath().contains(resultCacheDir)) {