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();

Reply via email to