Repository: kylin Updated Branches: refs/heads/master b361d8aaa -> 5fd26125b
KYLIN-1741 Reload metadata before diagnosis Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/5fd26125 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/5fd26125 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/5fd26125 Branch: refs/heads/master Commit: 5fd26125b08e080fcc2d4734b665d4a5994e43d4 Parents: b361d8a Author: lidongsjtu <lid...@apache.org> Authored: Wed Jun 22 14:16:26 2016 +0800 Committer: lidongsjtu <lid...@apache.org> Committed: Wed Jun 22 14:16:32 2016 +0800 ---------------------------------------------------------------------- .../apache/kylin/tool/KylinLogExtractor.java | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/5fd26125/tool/src/main/java/org/apache/kylin/tool/KylinLogExtractor.java ---------------------------------------------------------------------- diff --git a/tool/src/main/java/org/apache/kylin/tool/KylinLogExtractor.java b/tool/src/main/java/org/apache/kylin/tool/KylinLogExtractor.java index 2e270ba..a6d9901 100644 --- a/tool/src/main/java/org/apache/kylin/tool/KylinLogExtractor.java +++ b/tool/src/main/java/org/apache/kylin/tool/KylinLogExtractor.java @@ -28,6 +28,10 @@ import org.apache.commons.cli.OptionBuilder; import org.apache.commons.io.FileUtils; import org.apache.kylin.common.KylinConfig; import org.apache.kylin.common.util.OptionsHelper; +import org.apache.kylin.cube.CubeDescManager; +import org.apache.kylin.cube.CubeManager; +import org.apache.kylin.metadata.MetadataManager; +import org.apache.kylin.metadata.project.ProjectManager; import org.apache.kylin.tool.util.ToolUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -42,15 +46,35 @@ public class KylinLogExtractor extends AbstractInfoExtractor { @SuppressWarnings("static-access") private static final Option OPTION_LOG_PERIOD = OptionBuilder.withArgName("logPeriod").hasArg().isRequired(false).withDescription("specify how many days of kylin logs to extract. Default " + DEFAULT_LOG_PERIOD + ".").create("logPeriod"); + KylinConfig config; + public KylinLogExtractor() { super(); packageType = "logs"; options.addOption(OPTION_LOG_PERIOD); + + config = KylinConfig.getInstanceFromEnv(); + } + + private void beforeExtract() { + // reload metadata before extract diagnosis info + logger.info("Start to reload metadata from diagnosis."); + + CubeManager.clearCache(); + CubeManager.getInstance(config); + CubeDescManager.clearCache(); + CubeDescManager.getInstance(config); + MetadataManager.clearCache(); + MetadataManager.getInstance(config); + ProjectManager.clearCache(); + ProjectManager.getInstance(config); } @Override protected void executeExtract(OptionsHelper optionsHelper, File exportDir) throws Exception { + beforeExtract(); + int logPeriod = optionsHelper.hasOption(OPTION_LOG_PERIOD) ? Integer.valueOf(optionsHelper.getOptionValue(OPTION_LOG_PERIOD)) : DEFAULT_LOG_PERIOD; if (logPeriod < 1) {