diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java b/cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java index a809d86..33ef61c 100644 --- a/cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java +++ b/cube/src/main/java/org/apache/kylin/cube/CubeDescManager.java @@ -24,12 +24,12 @@ import java.util.concurrent.ConcurrentHashMap; import org.apache.kylin.common.restclient.CaseInsensitiveStringCache; import org.apache.commons.lang3.StringUtils; +import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.cube.model.CubeDesc; import org.apache.kylin.cube.model.validation.CubeMetadataValidator; import org.apache.kylin.cube.model.validation.ValidateContext; import org.slf4j.Logger; import org.slf4j.LoggerFactory; - import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.persistence.JsonSerializer; import org.apache.kylin.common.persistence.ResourceStore; @@ -176,11 +176,13 @@ public class CubeDescManager { String path = cubeDesc.getResourcePath(); getStore().deleteResource(path); cubeDescMap.remove(cubeDesc.getName()); + Cuboid.reloadCache(cubeDesc.getName()); } // remove cubeDesc public void removeLocalCubeDesc(String name) throws IOException { cubeDescMap.removeLocal(name); + Cuboid.reloadCache(name); } private void reloadAllCubeDesc() throws IOException { diff --git a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java index d702153..06894f3 100644 --- a/cube/src/main/java/org/apache/kylin/cube/CubeManager.java +++ b/cube/src/main/java/org/apache/kylin/cube/CubeManager.java @@ -21,6 +21,7 @@ package org.apache.kylin.cube; import com.google.common.collect.HashMultimap; import com.google.common.collect.Lists; import com.google.common.collect.Multimap; + import org.apache.commons.lang3.StringUtils; import org.apache.kylin.common.util.Pair; import org.apache.kylin.common.KylinConfig; @@ -29,6 +30,7 @@ import org.apache.kylin.common.persistence.ResourceStore; import org.apache.kylin.common.persistence.Serializer; import org.apache.kylin.common.restclient.Broadcaster; import org.apache.kylin.common.restclient.CaseInsensitiveStringCache; +import org.apache.kylin.cube.cuboid.Cuboid; import org.apache.kylin.cube.model.CubeDesc; import org.apache.kylin.cube.model.DimensionDesc; import org.apache.kylin.dict.Dictionary; @@ -413,6 +415,7 @@ public class CubeManager implements IRealizationProvider { final String cubeName = cube.getName().toUpperCase(); cubeMap.remove(cubeName); usedStorageLocation.removeAll(cubeName); + Cuboid.reloadCache(cube.getDescName()); } public void removeCubeCacheLocal(String cubeName) {