Repository: kylin Updated Branches: refs/heads/master f36372bc6 -> be32f7588
KYLIN-2624 fix IT with refactored DistributedLock Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/be32f758 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/be32f758 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/be32f758 Branch: refs/heads/master Commit: be32f75883c21bf32545d1b06158ad7cf36d676b Parents: f36372b Author: Yang Li <liy...@apache.org> Authored: Fri May 19 22:02:38 2017 +0800 Committer: Yang Li <liy...@apache.org> Committed: Fri May 19 22:02:38 2017 +0800 ---------------------------------------------------------------------- .../job/impl/threadpool/DistributedScheduler.java | 1 + .../hbase/util/ZookeeperDistributedLock.java | 16 ++++++++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/be32f758/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java ---------------------------------------------------------------------- diff --git a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java index d01cb5a..8812dad 100644 --- a/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java +++ b/core-job/src/main/java/org/apache/kylin/job/impl/threadpool/DistributedScheduler.java @@ -319,6 +319,7 @@ public class DistributedScheduler implements Scheduler<AbstractExecutable>, Conn } return path; } + @Override public void shutdown() throws SchedulerException { logger.info("Will shut down Job Engine ...."); http://git-wip-us.apache.org/repos/asf/kylin/blob/be32f758/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java ---------------------------------------------------------------------- diff --git a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java index d181d81..dc2a23e 100644 --- a/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java +++ b/storage-hbase/src/main/java/org/apache/kylin/storage/hbase/util/ZookeeperDistributedLock.java @@ -281,10 +281,18 @@ public class ZookeeperDistributedLock implements DistributedLock, JobLock { // normalize lock path private String norm(String lockPath) { - if (lockPath.startsWith(zkPathBase)) - return lockPath; - else - return zkPathBase + (lockPath.startsWith("/") ? "" : "/") + lockPath; + if (!lockPath.startsWith(zkPathBase)) + lockPath = zkPathBase + (lockPath.startsWith("/") ? "" : "/") + lockPath; + + return dropDoubleSlash(lockPath); + } + + public static String dropDoubleSlash(String path) { + for (int n = Integer.MAX_VALUE; n > path.length();) { + n = path.length(); + path = path.replace("//", "/"); + } + return path; } // ============================================================================