KYLIN-2704 Alter StorageCleanupJob to handle no file on HDFS
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/21d25b90 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/21d25b90 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/21d25b90 Branch: refs/heads/2.1.x Commit: 21d25b907b76492fdb48e0050c35c733017333fc Parents: 8b23602 Author: auphyroc99 <454530...@qq.com> Authored: Mon Jul 3 16:54:55 2017 +0800 Committer: liyang-gmt8 <liy...@apache.org> Committed: Tue Jul 4 19:21:12 2017 +0800 ---------------------------------------------------------------------- .../apache/kylin/rest/job/StorageCleanupJob.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/21d25b90/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java ---------------------------------------------------------------------- diff --git a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java index 9b72788..8bb06b5 100644 --- a/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java +++ b/server-base/src/main/java/org/apache/kylin/rest/job/StorageCleanupJob.java @@ -18,6 +18,7 @@ package org.apache.kylin.rest.job; +import java.io.FileNotFoundException; import java.io.IOException; import java.lang.reflect.Method; import java.util.ArrayList; @@ -119,14 +120,18 @@ public class StorageCleanupJob extends AbstractApplication { // GlobFilter(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory() // + "/kylin-.*"); // TODO: when first use, /kylin/kylin_metadata does not exist. - FileStatus[] fStatus = fs.listStatus(new Path(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory())); - for (FileStatus status : fStatus) { - String path = status.getPath().getName(); - // System.out.println(path); - if (path.startsWith("kylin-")) { - String kylinJobPath = engineConfig.getHdfsWorkingDirectory() + path; - allHdfsPathsNeedToBeDeleted.add(kylinJobPath); + try { + FileStatus[] fStatus = fs.listStatus(new Path(KylinConfig.getInstanceFromEnv().getHdfsWorkingDirectory())); + for (FileStatus status : fStatus) { + String path = status.getPath().getName(); + // System.out.println(path); + if (path.startsWith("kylin-")) { + String kylinJobPath = engineConfig.getHdfsWorkingDirectory() + path; + allHdfsPathsNeedToBeDeleted.add(kylinJobPath); + } } + } catch (FileNotFoundException e) { + logger.info("Working Directory does not exist on HDFS. "); } List<String> allJobs = executableManager.getAllJobIds();