Repository: tajo Updated Branches: refs/heads/branch-0.11.1 92fd55858 -> 7f00b0444
TAJO-1753: GlobalEngine causes NPE occurs occasionally. Project: http://git-wip-us.apache.org/repos/asf/tajo/repo Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/7f00b044 Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/7f00b044 Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/7f00b044 Branch: refs/heads/branch-0.11.1 Commit: 7f00b0444f923230657bfbcec7c830b9219a7234 Parents: 92fd558 Author: Jinho Kim <[email protected]> Authored: Mon Nov 30 16:24:02 2015 +0900 Committer: Jinho Kim <[email protected]> Committed: Mon Nov 30 16:24:02 2015 +0900 ---------------------------------------------------------------------- CHANGES | 2 ++ .../src/main/java/org/apache/tajo/master/GlobalEngine.java | 9 +++++---- .../src/main/java/org/apache/tajo/master/TajoMaster.java | 4 ++-- 3 files changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tajo/blob/7f00b044/CHANGES ---------------------------------------------------------------------- diff --git a/CHANGES b/CHANGES index 6e7decc..8191501 100644 --- a/CHANGES +++ b/CHANGES @@ -18,6 +18,8 @@ Release 0.11.1 - unreleased BUG FIXES + TAJO-1753: GlobalEngine causes NPE occurs occasionally. (jinho) + TAJO-1980: Printout the usage of TajoShellCommand. (Contributed by Dongkyu Hwangbo, committed by jaehwa) http://git-wip-us.apache.org/repos/asf/tajo/blob/7f00b044/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java b/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java index 1966244..7f18fd4 100644 --- a/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java +++ b/tajo-core/src/main/java/org/apache/tajo/master/GlobalEngine.java @@ -36,13 +36,13 @@ import org.apache.tajo.catalog.CatalogService; import org.apache.tajo.catalog.Schema; import org.apache.tajo.catalog.TableDesc; import org.apache.tajo.conf.TajoConf; -import org.apache.tajo.parser.sql.SQLAnalyzer; import org.apache.tajo.engine.query.QueryContext; import org.apache.tajo.exception.*; import org.apache.tajo.master.TajoMaster.MasterContext; import org.apache.tajo.master.exec.DDLExecutor; import org.apache.tajo.master.exec.QueryExecutor; import org.apache.tajo.metrics.Master; +import org.apache.tajo.parser.sql.SQLAnalyzer; import org.apache.tajo.plan.LogicalOptimizer; import org.apache.tajo.plan.LogicalPlan; import org.apache.tajo.plan.LogicalPlanner; @@ -54,6 +54,7 @@ import org.apache.tajo.plan.verifier.*; import org.apache.tajo.session.Session; import org.apache.tajo.storage.TablespaceManager; import org.apache.tajo.util.CommonTestingUtil; +import org.apache.tajo.util.metrics.TajoSystemMetrics; import java.sql.SQLException; import java.util.concurrent.ExecutionException; @@ -176,9 +177,9 @@ public class GlobalEngine extends AbstractService { LOG.info("Query: " + query); QueryContext queryContext = createQueryContext(session); Expr planningContext; - + TajoSystemMetrics metrics = context.getMetrics(); try { - context.getMetrics().counter(Master.Query.SUBMITTED).inc(); + if(metrics != null) metrics.counter(Master.Query.SUBMITTED).inc(); if (isJson) { planningContext = buildExpressionFromJson(query); @@ -195,7 +196,7 @@ public class GlobalEngine extends AbstractService { } catch (Throwable t) { ExceptionUtil.printStackTraceIfError(LOG, t); - context.getMetrics().counter(Master.Query.ERROR).inc(); + if(metrics != null) metrics.counter(Master.Query.ERROR).inc(); SubmitQueryResponse.Builder responseBuilder = SubmitQueryResponse.newBuilder(); responseBuilder.setUserName(queryContext.get(SessionVars.USERNAME)); http://git-wip-us.apache.org/repos/asf/tajo/blob/7f00b044/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java ---------------------------------------------------------------------- diff --git a/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java b/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java index 30b3b7a..3670fed 100644 --- a/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java +++ b/tajo-core/src/main/java/org/apache/tajo/master/TajoMaster.java @@ -206,7 +206,7 @@ public class TajoMaster extends CompositeService { addIfService(restServer); PythonScriptEngine.initPythonScriptEngineFiles(); - + // Try to start up all services in TajoMaster. // If anyone is failed, the master prints out the errors and immediately should shutdowns try { @@ -325,6 +325,7 @@ public class TajoMaster extends CompositeService { checkBaseTBSpaceAndDatabase(); super.serviceStart(); + initSystemMetrics(); // Setting the system global configs systemConf.setSocketAddr(ConfVars.CATALOG_ADDRESS.varname, @@ -337,7 +338,6 @@ public class TajoMaster extends CompositeService { } initWebServer(); - initSystemMetrics(); haService = ServiceTrackerFactory.get(systemConf); haService.register();
