Return-Path: X-Original-To: apmail-kylin-commits-archive@minotaur.apache.org Delivered-To: apmail-kylin-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6C91810063 for ; Thu, 15 Jan 2015 12:26:44 +0000 (UTC) Received: (qmail 59443 invoked by uid 500); 15 Jan 2015 12:26:46 -0000 Delivered-To: apmail-kylin-commits-archive@kylin.apache.org Received: (qmail 59399 invoked by uid 500); 15 Jan 2015 12:26:46 -0000 Mailing-List: contact commits-help@kylin.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@kylin.incubator.apache.org Delivered-To: mailing list commits@kylin.incubator.apache.org Received: (qmail 59382 invoked by uid 99); 15 Jan 2015 12:26:46 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Jan 2015 12:26:46 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO mail.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with SMTP; Thu, 15 Jan 2015 12:26:44 +0000 Received: (qmail 57321 invoked by uid 99); 15 Jan 2015 12:26:19 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Jan 2015 12:26:19 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 5C017A4413D; Thu, 15 Jan 2015 12:26:19 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: lukehan@apache.org To: commits@kylin.incubator.apache.org Date: Thu, 15 Jan 2015 12:27:00 -0000 Message-Id: <1d63aebff1cb4156ab58891b6ba4db80@git.apache.org> In-Reply-To: References: X-Mailer: ASF-Git Admin Mailer Subject: [44/50] [abbrv] incubator-kylin git commit: fix cache issue X-Virus-Checked: Checked by ClamAV on apache.org fix cache issue Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/41095f08 Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/41095f08 Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/41095f08 Branch: refs/heads/inverted-index Commit: 41095f08efd069d611af53f159e75462fad4c7d4 Parents: 4e88d7f Author: qianhao.zhou Authored: Thu Jan 15 11:00:36 2015 +0800 Committer: qianhao.zhou Committed: Thu Jan 15 11:00:36 2015 +0800 ---------------------------------------------------------------------- .../kylinolap/invertedindex/IIDescManager.java | 6 ++++- .../rest/controller/CacheController.java | 24 ++++++++++---------- .../kylinolap/rest/service/BasicService.java | 5 ++++ 3 files changed, 22 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/41095f08/invertedindex/src/main/java/com/kylinolap/invertedindex/IIDescManager.java ---------------------------------------------------------------------- diff --git a/invertedindex/src/main/java/com/kylinolap/invertedindex/IIDescManager.java b/invertedindex/src/main/java/com/kylinolap/invertedindex/IIDescManager.java index bee55d2..8b0db25 100644 --- a/invertedindex/src/main/java/com/kylinolap/invertedindex/IIDescManager.java +++ b/invertedindex/src/main/java/com/kylinolap/invertedindex/IIDescManager.java @@ -111,7 +111,7 @@ public class IIDescManager { IIDesc ndesc = loadIIDesc(path); // Here replace the old one - iiDescMap.put(ndesc.getName(), ndesc); + iiDescMap.putLocal(ndesc.getName(), ndesc); return ndesc; } @@ -166,6 +166,10 @@ public class IIDescManager { iiDescMap.remove(iiDesc.getName()); } + public void removeIIDescLocal(String name) throws IOException { + iiDescMap.remove(name); + } + private void reloadAllIIDesc() throws IOException { ResourceStore store = getStore(); logger.info("Reloading all II desc from folder " + store.getReadableResourcePath(ResourceStore.II_DESC_RESOURCE_ROOT)); http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/41095f08/server/src/main/java/com/kylinolap/rest/controller/CacheController.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/com/kylinolap/rest/controller/CacheController.java b/server/src/main/java/com/kylinolap/rest/controller/CacheController.java index 4b62013..65fc235 100644 --- a/server/src/main/java/com/kylinolap/rest/controller/CacheController.java +++ b/server/src/main/java/com/kylinolap/rest/controller/CacheController.java @@ -28,7 +28,6 @@ import org.springframework.web.bind.annotation.ResponseBody; import com.kylinolap.common.restclient.Broadcaster; import com.kylinolap.common.restclient.Broadcaster.EVENT; -import com.kylinolap.metadata.MetadataConstances; import com.kylinolap.rest.service.CubeService; import com.kylinolap.rest.service.ProjectService; @@ -66,7 +65,7 @@ public class CacheController extends BasicController { Broadcaster.TYPE wipeType = Broadcaster.TYPE.getType(type); EVENT wipeEvent = Broadcaster.EVENT.getEvent(event); final String log = "wipe cache type: " + wipeType + " event:" + wipeEvent + " name:" + name; - logger.debug(log); + logger.info(log); switch (wipeType) { case TABLE: switch (wipeEvent) { @@ -89,11 +88,6 @@ public class CacheController extends BasicController { } break; case CUBE: - if ("ALL".equalsIgnoreCase(name.toUpperCase())) { - cubeMgmtService.cleanDataCache(); - break; - } - switch (wipeEvent) { case CREATE: case UPDATE: @@ -104,12 +98,18 @@ public class CacheController extends BasicController { break; } break; - case PROJECT: - if ("ALL".equalsIgnoreCase(name.toUpperCase())) { - projectService.cleanDataCache(); - break; + case INVERTED_INDEX: + switch (wipeEvent) { + case CREATE: + case UPDATE: + cubeMgmtService.getIIDescManager().reloadIIDesc(name); + break; + case DROP: + cubeMgmtService.getIIDescManager().removeIIDescLocal(name); + break; } - + break; + case PROJECT: switch (wipeEvent) { case CREATE: case UPDATE: http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/41095f08/server/src/main/java/com/kylinolap/rest/service/BasicService.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/com/kylinolap/rest/service/BasicService.java b/server/src/main/java/com/kylinolap/rest/service/BasicService.java index 2db6e82..556ae40 100644 --- a/server/src/main/java/com/kylinolap/rest/service/BasicService.java +++ b/server/src/main/java/com/kylinolap/rest/service/BasicService.java @@ -23,6 +23,7 @@ import com.google.common.io.Files; import com.kylinolap.common.KylinConfig; import com.kylinolap.cube.CubeDescManager; import com.kylinolap.cube.CubeManager; +import com.kylinolap.invertedindex.IIDescManager; import com.kylinolap.job.cube.CubingJob; import com.kylinolap.job.execution.ExecutableState; import com.kylinolap.job.impl.threadpool.AbstractExecutable; @@ -161,6 +162,10 @@ public abstract class BasicService { return ExecutableManager.getInstance(getConfig()); } + public final IIDescManager getIIDescManager() { + return IIDescManager.getInstance(getConfig()); + } + protected List listAllCubingJobs(final String cubeName, final String projectName, final Set statusList) { List results = Lists.newArrayList(FluentIterable.from(getExecutableManager().getAllExecutables()).filter(new Predicate() { @Override