KYLIN-2525 tolerate job metadata exception in StorageCleanupJob
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/fa3ee3ff Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/fa3ee3ff Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/fa3ee3ff Branch: refs/heads/master-hbase0.98 Commit: fa3ee3ffbbb11ac3d4dc79dbb719f56a7e913857 Parents: c6b4592 Author: Li Yang <liy...@apache.org> Authored: Wed Mar 29 18:03:59 2017 +0800 Committer: Yang Li <liy...@apache.org> Committed: Wed Mar 29 21:02:23 2017 +0800 ---------------------------------------------------------------------- .../java/org/apache/kylin/tool/StorageCleanupJob.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/fa3ee3ff/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java b/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java index 477c58a..f1a3ebe 100644 --- a/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java +++ b/tool/src/main/java/org/apache/kylin/tool/StorageCleanupJob.java @@ -46,6 +46,7 @@ import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.util.AbstractApplication; import org.apache.kylin.common.util.CliCommandExecutor; import org.apache.kylin.common.util.HadoopUtil; +import org.apache.kylin.common.util.HiveCmdBuilder; import org.apache.kylin.common.util.OptionsHelper; import org.apache.kylin.cube.CubeInstance; import org.apache.kylin.cube.CubeManager; @@ -57,7 +58,6 @@ import org.apache.kylin.job.execution.ExecutableManager; import org.apache.kylin.job.execution.ExecutableState; import org.apache.kylin.metadata.realization.IRealizationConstants; import org.apache.kylin.source.hive.HiveClientFactory; -import org.apache.kylin.common.util.HiveCmdBuilder; import org.apache.kylin.source.hive.IHiveClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -276,9 +276,14 @@ public class StorageCleanupJob extends AbstractApplication { sb.append(jobId).append("(").append(state).append("), "); } - String segmentId = getSegmentIdFromJobId(jobId); - if (segmentId != null) {//some jobs are not cubing jobs - segmentId2JobId.put(segmentId, jobId); + try { + String segmentId = getSegmentIdFromJobId(jobId); + if (segmentId != null) {//some jobs are not cubing jobs + segmentId2JobId.put(segmentId, jobId); + } + } catch (Exception ex) { + logger.warn("Failed to find segment ID from job ID " + jobId + ", ignore it"); + // some older version job metadata may fail to read, ignore it } } logger.info("Working jobIDs: " + workingJobList);