You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ni...@apache.org on 2020/01/03 07:32:26 UTC
[kylin] branch master updated: delete /execute_output metadata when
deleting a job
This is an automated email from the ASF dual-hosted git repository.
nic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/master by this push:
new 7d87032 delete /execute_output metadata when deleting a job
7d87032 is described below
commit 7d87032c42c1cde38621c705e84467785d3bb349
Author: Changji Guo <35...@users.noreply.github.com>
AuthorDate: Fri Jan 3 14:03:25 2020 +0800
delete /execute_output metadata when deleting a job
---
.../java/org/apache/kylin/job/dao/ExecutableDao.java | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
diff --git a/core-job/src/main/java/org/apache/kylin/job/dao/ExecutableDao.java b/core-job/src/main/java/org/apache/kylin/job/dao/ExecutableDao.java
index 6a63ff4..3774908 100644
--- a/core-job/src/main/java/org/apache/kylin/job/dao/ExecutableDao.java
+++ b/core-job/src/main/java/org/apache/kylin/job/dao/ExecutableDao.java
@@ -378,14 +378,31 @@ public class ExecutableDao {
public void deleteJob(String uuid) throws PersistentException {
try {
+ ExecutablePO executablePO = getJob(uuid);
store.deleteResource(pathOfJob(uuid));
executableDigestMap.remove(uuid);
+ removeJobOutput(executablePO);
} catch (IOException e) {
logger.error("error delete job:" + uuid, e);
throw new PersistentException(e);
}
}
+ private void removeJobOutput(ExecutablePO executablePO) {
+ List<String> toDeletePaths = Lists.newArrayList();
+ try {
+ toDeletePaths.add(pathOfJobOutput(executablePO.getUuid()));
+ for (ExecutablePO task : executablePO.getTasks()) {
+ toDeletePaths.add(pathOfJobOutput(task.getUuid()));
+ }
+ for (String path : toDeletePaths) {
+ store.deleteResource(path);
+ }
+ } catch (Exception e) {
+ logger.warn("error delete job output:" + executablePO.getUuid(), e);
+ }
+ }
+
public ExecutableOutputPO getJobOutput(String uuid) throws PersistentException {
ExecutableOutputPO result = null;
try {