You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by pr...@apache.org on 2015/06/05 18:44:00 UTC

tez git commit: TEZ-2541. DAGClientImpl enable TimelineClient check is wrong. (pramachandran)

Repository: tez
Updated Branches:
  refs/heads/master 139e3d508 -> 5e58309d9


TEZ-2541. DAGClientImpl enable TimelineClient check is wrong. (pramachandran)


Project: http://git-wip-us.apache.org/repos/asf/tez/repo
Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/5e58309d
Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/5e58309d
Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/5e58309d

Branch: refs/heads/master
Commit: 5e58309d91ba56b7acb51247d3e7948ae4ddb71e
Parents: 139e3d5
Author: Prakash Ramachandran <pr...@hortonworks.com>
Authored: Fri Jun 5 22:13:24 2015 +0530
Committer: Prakash Ramachandran <pr...@hortonworks.com>
Committed: Fri Jun 5 22:13:24 2015 +0530

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../tez/dag/api/client/DAGClientImpl.java       |  8 +++---
 .../tez/dag/api/client/rpc/TestDAGClient.java   | 30 ++++++++++++++++++++
 3 files changed, 35 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tez/blob/5e58309d/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index ea55c45..2b919df 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -35,6 +35,7 @@ Release 0.7.1: Unreleased
 INCOMPATIBLE CHANGES
 
 ALL CHANGES:
+  TEZ-2541. DAGClientImpl enable TimelineClient check is wrong.
   TEZ-2539. Tez UI: Pages are not updating in IE.
   TEZ-2535. Tez UI: Failed task attempts link in vertex details page is broken.
   TEZ-2489. Disable warn log for Timeline ACL error when tez.allow.disabled.timeline-domains set to true.

http://git-wip-us.apache.org/repos/asf/tez/blob/5e58309d/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
index 66fc986..4e2ff40 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClientImpl.java
@@ -60,7 +60,8 @@ public class DAGClientImpl extends DAGClient {
   @VisibleForTesting
   protected DAGClient realClient;
   private boolean dagCompleted = false;
-  private boolean isATSEnabled = false;
+  @VisibleForTesting
+  protected boolean isATSEnabled = false;
   private DAGStatus cachedDagStatus = null;
   Map<String, VertexStatus> cachedVertexStatus = new HashMap<String, VertexStatus>();
 
@@ -92,9 +93,8 @@ public class DAGClientImpl extends DAGClient {
             conf.getBoolean(TezConfiguration.TEZ_DAG_HISTORY_LOGGING_ENABLED,
                  TezConfiguration.TEZ_DAG_HISTORY_LOGGING_ENABLED_DEFAULT) &&
             conf.getBoolean(TezConfiguration.TEZ_AM_HISTORY_LOGGING_ENABLED,
-                 TezConfiguration.TEZ_AM_HISTORY_LOGGING_ENABLED_DEFAULT);
-
-    isATSEnabled = DAGClientTimelineImpl.isSupported();
+                 TezConfiguration.TEZ_AM_HISTORY_LOGGING_ENABLED_DEFAULT) &&
+            DAGClientTimelineImpl.isSupported();
 
     realClient = new DAGClientRPCImpl(appId, dagId, conf, this.frameworkClient);
     statusPollInterval = conf.getLong(

http://git-wip-us.apache.org/repos/asf/tez/blob/5e58309d/tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java
----------------------------------------------------------------------
diff --git a/tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java b/tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java
index 5143a3c..674781e 100644
--- a/tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java
+++ b/tez-api/src/test/java/org/apache/tez/dag/api/client/rpc/TestDAGClient.java
@@ -40,6 +40,7 @@ import org.apache.tez.dag.api.TezConfiguration;
 import org.apache.tez.dag.api.TezException;
 import org.apache.tez.dag.api.client.DAGClient;
 import org.apache.tez.dag.api.client.DAGClientImpl;
+import org.apache.tez.dag.api.client.DAGClientTimelineImpl;
 import org.apache.tez.dag.api.client.DAGStatus;
 import org.apache.tez.dag.api.client.DagStatusSource;
 import org.apache.tez.dag.api.client.StatusGetOpts;
@@ -401,6 +402,30 @@ public class TestDAGClient {
 
   }
 
+  @Test(timeout = 5000)
+  public void testDagClientTimelineEnabledCondition() {
+    String historyLoggingClass = "org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService";
+
+    testAtsEnabled(mockAppId, dagIdStr, false, "", true, true);
+    testAtsEnabled(mockAppId, dagIdStr, false, historyLoggingClass, false, true);
+    testAtsEnabled(mockAppId, dagIdStr, false, historyLoggingClass, true, false);
+    testAtsEnabled(mockAppId, dagIdStr, DAGClientTimelineImpl.isSupported(), historyLoggingClass,
+        true, true);
+  }
+
+  private static void testAtsEnabled(ApplicationId appId, String dagIdStr, boolean expected,
+                                     String loggingClass, boolean amHistoryLoggingEnabled,
+                                     boolean dagHistoryLoggingEnabled) {
+    TezConfiguration tezConf = new TezConfiguration();
+
+    tezConf.set(TezConfiguration.TEZ_HISTORY_LOGGING_SERVICE_CLASS, loggingClass);
+    tezConf.setBoolean(TezConfiguration.TEZ_AM_HISTORY_LOGGING_ENABLED, amHistoryLoggingEnabled);
+    tezConf.setBoolean(TezConfiguration.TEZ_DAG_HISTORY_LOGGING_ENABLED, dagHistoryLoggingEnabled);
+
+    DAGClientImplForTest dagClient = new DAGClientImplForTest(appId, dagIdStr, tezConf, null);
+    assertEquals(expected, dagClient.getIsATSEnabled());
+  }
+
   private static class DAGClientRPCImplForTest extends DAGClientRPCImpl {
 
     int numGetStatusViaAmInvocations = 0;
@@ -464,6 +489,11 @@ public class TestDAGClient {
       numGetStatusViaRmInvocations++;
       return rmDagStatus;
     }
+
+    public boolean getIsATSEnabled() {
+      return isATSEnabled;
+    }
+
   }
 
   private DAGProtos.DAGStatusProto.Builder constructDagStatusProto(DAGStatusStateProto stateProto) {