tez-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bi...@apache.org
Subject [2/2] git commit: TEZ-1416. tez-api project javadoc/annotations review and clean up (bikas)
Date Thu, 14 Aug 2014 22:57:38 GMT
TEZ-1416. tez-api project javadoc/annotations review and clean up (bikas)


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

Branch: refs/heads/master
Commit: 84374adc7e17c018bf8309b527e3f2f572901ebf
Parents: 9bba71a
Author: Bikas Saha <bikas@apache.org>
Authored: Thu Aug 14 15:57:38 2014 -0700
Committer: Bikas Saha <bikas@apache.org>
Committed: Thu Aug 14 15:57:38 2014 -0700

----------------------------------------------------------------------
 CHANGES.txt                                     |   1 +
 .../org/apache/tez/client/FrameworkClient.java  |   2 +
 .../org/apache/tez/client/PreWarmVertex.java    |  40 +++++++
 .../apache/tez/client/TezAppMasterStatus.java   |   6 ++
 .../java/org/apache/tez/client/TezClient.java   |   5 +
 .../org/apache/tez/client/TezClientUtils.java   |   8 +-
 .../org/apache/tez/client/TezYarnClient.java    |   2 +
 .../java/org/apache/tez/common/LogUtils.java    |  42 ++++++++
 .../tez/common/counters/AbstractCounter.java    |   2 +-
 .../common/counters/AbstractCounterGroup.java   |   2 +-
 .../tez/common/counters/AbstractCounters.java   |   7 +-
 .../tez/common/counters/CounterGroup.java       |   8 +-
 .../tez/common/counters/CounterGroupBase.java   |   8 +-
 .../tez/common/counters/FileSystemCounter.java  |   4 +-
 .../apache/tez/common/counters/JobCounter.java  |   6 +-
 .../tez/common/counters/ResourceBundles.java    |   3 +
 .../apache/tez/common/counters/TaskCounter.java |   5 +-
 .../apache/tez/common/counters/TezCounter.java  |  12 +--
 .../apache/tez/common/counters/TezCounters.java |  10 +-
 .../org/apache/tez/common/impl/LogUtils.java    |  42 --------
 .../common/security/DAGClientSecurityInfo.java  |   2 +
 .../main/java/org/apache/tez/dag/api/DAG.java   |   4 +-
 .../tez/dag/api/DAGSubmissionTimedOut.java      |   3 +
 .../apache/tez/dag/api/DagTypeConverters.java   |   2 +
 .../apache/tez/dag/api/DataSinkDescriptor.java  |   2 +
 .../tez/dag/api/DataSourceDescriptor.java       |   2 +
 .../apache/tez/dag/api/DuplicateDAGName.java    |  41 --------
 .../main/java/org/apache/tez/dag/api/Edge.java  |  22 +++-
 .../apache/tez/dag/api/EdgeManagerPlugin.java   |   6 +-
 .../tez/dag/api/EdgeManagerPluginContext.java   |   5 +
 .../dag/api/EdgeManagerPluginDescriptor.java    |   6 ++
 .../org/apache/tez/dag/api/EdgeProperty.java    |  33 +++++-
 .../apache/tez/dag/api/EntityDescriptor.java    |   9 ++
 .../org/apache/tez/dag/api/GroupInputEdge.java  |  36 +++++--
 .../org/apache/tez/dag/api/InputDescriptor.java |   6 ++
 .../tez/dag/api/InputInitializerDescriptor.java |   6 ++
 .../tez/dag/api/OutputCommitterDescriptor.java  |   6 ++
 .../apache/tez/dag/api/OutputDescriptor.java    |   6 ++
 .../apache/tez/dag/api/ProcessorDescriptor.java |   6 ++
 .../apache/tez/dag/api/SessionNotRunning.java   |   3 +
 .../apache/tez/dag/api/TezConfiguration.java    |  32 +++---
 .../org/apache/tez/dag/api/TezConstants.java    |   4 +
 .../org/apache/tez/dag/api/TezException.java    |   5 +-
 .../tez/dag/api/TezUncheckedException.java      |   5 +-
 .../org/apache/tez/dag/api/UserPayload.java     |   3 +
 .../java/org/apache/tez/dag/api/Vertex.java     |   8 ++
 .../org/apache/tez/dag/api/VertexGroup.java     |   3 +
 .../apache/tez/dag/api/VertexLocationHint.java  |   7 ++
 .../apache/tez/dag/api/VertexManagerPlugin.java |   6 +-
 .../tez/dag/api/VertexManagerPluginContext.java |   4 +-
 .../dag/api/VertexManagerPluginDescriptor.java  |   5 +
 .../apache/tez/dag/api/client/DAGClient.java    |   6 +-
 .../apache/tez/dag/api/client/DAGStatus.java    |   6 ++
 .../org/apache/tez/dag/api/client/Progress.java |   7 ++
 .../tez/dag/api/client/StatusGetOpts.java       |   5 +
 .../apache/tez/dag/api/client/VertexStatus.java |   7 ++
 .../rpc/DAGClientAMProtocolBlockingPB.java      |   2 +
 .../dag/api/client/rpc/DAGClientRPCImpl.java    |   2 +
 .../runtime/api/AbstractLogicalIOProcessor.java |   9 +-
 .../tez/runtime/api/AbstractLogicalInput.java   |   3 +
 .../tez/runtime/api/AbstractLogicalOutput.java  |   5 +-
 .../java/org/apache/tez/runtime/api/Event.java  |   4 +
 .../java/org/apache/tez/runtime/api/Input.java  |   8 +-
 .../apache/tez/runtime/api/InputContext.java    |   3 +
 .../runtime/api/InputFrameworkInterface.java    |   5 +
 .../tez/runtime/api/InputInitializer.java       |   6 +-
 .../runtime/api/InputInitializerContext.java    |   2 +
 .../apache/tez/runtime/api/InputSpecUpdate.java |   2 +
 .../tez/runtime/api/LogicalIOProcessor.java     |   3 +
 .../LogicalIOProcessorFrameworkInterface.java   |   6 +-
 .../apache/tez/runtime/api/LogicalInput.java    |   8 +-
 .../api/LogicalInputFrameworkInterface.java     |   8 ++
 .../apache/tez/runtime/api/LogicalOutput.java   |   7 +-
 .../api/LogicalOutputFrameworkInterface.java    |   7 ++
 .../tez/runtime/api/MemoryUpdateCallback.java   |   2 +
 .../tez/runtime/api/MergedInputContext.java     |   2 +
 .../tez/runtime/api/MergedLogicalInput.java     |   5 +
 .../apache/tez/runtime/api/ObjectRegistry.java  | 104 +++++++++++++++++++
 .../java/org/apache/tez/runtime/api/Output.java |   5 +
 .../apache/tez/runtime/api/OutputCommitter.java |   4 +-
 .../tez/runtime/api/OutputCommitterContext.java |   4 +-
 .../apache/tez/runtime/api/OutputContext.java   |   3 +
 .../runtime/api/OutputFrameworkInterface.java   |   5 +
 .../org/apache/tez/runtime/api/Processor.java   |   8 +-
 .../tez/runtime/api/ProcessorContext.java       |   3 +
 .../api/ProcessorFrameworkInterface.java        |   4 +
 .../java/org/apache/tez/runtime/api/Reader.java |   7 ++
 .../org/apache/tez/runtime/api/TaskContext.java |   7 +-
 .../java/org/apache/tez/runtime/api/Writer.java |   8 +-
 .../api/events/CompositeDataMovementEvent.java  |   2 +
 .../runtime/api/events/DataMovementEvent.java   |   2 +
 .../events/InputConfigureVertexTasksEvent.java  |  22 ++--
 .../api/events/InputDataInformationEvent.java   |   2 +
 .../runtime/api/events/InputFailedEvent.java    |   1 +
 .../api/events/InputInitializerEvent.java       |   4 +
 .../runtime/api/events/InputReadErrorEvent.java |   2 +
 .../api/events/InputUpdatePayloadEvent.java     |   2 +
 .../runtime/api/events/VertexManagerEvent.java  |   2 +
 .../common/objectregistry/ObjectRegistry.java   |  99 ------------------
 .../org/apache/tez/dag/app/DAGAppMaster.java    |   9 +-
 .../app/dag/impl/RootInputVertexManager.java    |   3 +-
 .../apache/tez/runtime/task/TezTaskRunner.java  |   2 +-
 .../tez/dag/app/dag/impl/TestVertexImpl.java    |   2 +-
 .../examples/BroadcastAndOneToOneExample.java   |   2 +-
 .../common/MRInputAMSplitGenerator.java         |   3 +-
 .../runtime/LogicalIOProcessorRuntimeTask.java  |   2 +-
 .../runtime/api/impl/TezInputContextImpl.java   |   2 +-
 .../runtime/api/impl/TezOutputContextImpl.java  |   2 +-
 .../api/impl/TezProcessorContextImpl.java       |   2 +-
 .../runtime/api/impl/TezTaskContextImpl.java    |   2 +-
 .../objectregistry/ObjectRegistryImpl.java      |   2 +
 .../objectregistry/TestObjectRegistry.java      |   2 +-
 112 files changed, 664 insertions(+), 304 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d81a68d..19e4097 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -57,6 +57,7 @@ INCOMPATIBLE CHANGES
   TEZ-1347. Consolidate MRHelpers.
   TEZ-1072. Consolidate monitoring APIs in DAGClient
   TEZ-1410. DAGClient#waitForCompletion() methods should not swallow interrupts
+  TEZ-1416. tez-api project javadoc/annotations review and clean up
 
 Release 0.4.0-incubating: 2014-04-05
 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/client/FrameworkClient.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/client/FrameworkClient.java b/tez-api/src/main/java/org/apache/tez/client/FrameworkClient.java
index 1504922..63617b3 100644
--- a/tez-api/src/main/java/org/apache/tez/client/FrameworkClient.java
+++ b/tez-api/src/main/java/org/apache/tez/client/FrameworkClient.java
@@ -20,6 +20,7 @@ package org.apache.tez.client;
 
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
@@ -30,6 +31,7 @@ import org.apache.hadoop.yarn.exceptions.YarnException;
 import org.apache.tez.common.ReflectionUtils;
 import org.apache.tez.dag.api.TezConfiguration;
 
+@Private
 public abstract class FrameworkClient {
 
   private static FrameworkClient localClient = null;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/client/PreWarmVertex.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/client/PreWarmVertex.java b/tez-api/src/main/java/org/apache/tez/client/PreWarmVertex.java
index 9c4e3fc..f3db312 100644
--- a/tez-api/src/main/java/org/apache/tez/client/PreWarmVertex.java
+++ b/tez-api/src/main/java/org/apache/tez/client/PreWarmVertex.java
@@ -18,6 +18,7 @@
 
 package org.apache.tez.client;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.api.records.Resource;
@@ -52,18 +53,57 @@ import org.apache.tez.runtime.api.Processor;
  * for the actual processing to reduce latency.
  */
 @Unstable
+@Public
 public class PreWarmVertex extends Vertex {
 
+  /**
+   * Create a {@link PreWarmVertex} to be used in
+   * {@link TezClient#preWarm(PreWarmVertex)} It may be necessary to call more
+   * methods to add local files etc on the pre-warm vertex post creation so that
+   * it matches the real DAG vertices.
+   * 
+   * @param vertexName
+   *          Name of the vertex
+   * @param processorDescriptor
+   *          Descriptor of the processor to be run
+   * @param parallelism
+   *          Number of containers to be pre-warmed
+   * @param taskResource
+   *          Execution cpu/memory resources etc needed
+   */
   public PreWarmVertex(String vertexName, ProcessorDescriptor processorDescriptor, int parallelism,
       Resource taskResource) {
     super(vertexName, processorDescriptor, parallelism, taskResource);
   }
   
+  /**
+   * Create a {@link PreWarmVertex} to be used in @link
+   * {@link TezClient#preWarm(PreWarmVertex)} This uses a built in pre-warm
+   * processor that implements common functionality. Users may derive from this
+   * processor to add custom functionality but then they must add the jar for
+   * that class to the prewarm vertex and other vertices in their DAG for which
+   * they want the containers to be reused. It may be necessary to call more
+   * methods to add local files etc on the pre-warm vertex post creation so that
+   * it matches the real DAG vertices.
+   * 
+   * @param vertexName
+   *          Name of the vertex
+   * @param parallelism
+   *          Number of containers to be pre-warmed
+   * @param taskResource
+   *          Execution cpu/memory resources etc needed
+   */
   public PreWarmVertex(String vertexName, int parallelism, Resource taskResource) {
     this(vertexName, new ProcessorDescriptor(
         "org.apache.tez.runtime.library.processor.PreWarmProcessor"), parallelism, taskResource);
   }
   
+  /**
+   * Create a configurer for the @link {@link PreWarmVertex}. This may be used to construct the 
+   * pre-warm vertex more flexibly.
+   * @param conf
+   * @return
+   */
   public static PreWarmVertexConfigurer createConfigurer(Configuration conf) {
     return new PreWarmVertexConfigurer(conf);
   }

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/client/TezAppMasterStatus.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/client/TezAppMasterStatus.java b/tez-api/src/main/java/org/apache/tez/client/TezAppMasterStatus.java
index f8cd310..d24dbf0 100644
--- a/tez-api/src/main/java/org/apache/tez/client/TezAppMasterStatus.java
+++ b/tez-api/src/main/java/org/apache/tez/client/TezAppMasterStatus.java
@@ -18,6 +18,12 @@
 
 package org.apache.tez.client;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
+/**
+ * Defines status for the App Master executing the DAG
+ */
+@Public
 public enum TezAppMasterStatus {
   /** App Master initializing itself */
   INITIALIZING,

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/client/TezClient.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/client/TezClient.java b/tez-api/src/main/java/org/apache/tez/client/TezClient.java
index 8f0e66f..24744e3 100644
--- a/tez-api/src/main/java/org/apache/tez/client/TezClient.java
+++ b/tez-api/src/main/java/org/apache/tez/client/TezClient.java
@@ -27,6 +27,7 @@ import javax.annotation.Nullable;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.security.Credentials;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
@@ -77,6 +78,7 @@ import com.google.protobuf.ServiceException;
  * session mode configuration, the same application can be running in session or
  * non-session mode.
  */
+@Public
 public class TezClient {
 
   private static final Log LOG = LogFactory.getLog(TezClient.class);
@@ -584,11 +586,14 @@ public class TezClient {
     }
   }
   
+  @VisibleForTesting
   // for testing
+  @Private
   protected FrameworkClient createFrameworkClient() {
     return FrameworkClient.createFrameworkClient(amConfig.getTezConfiguration());
   }
 
+  @VisibleForTesting
   // for testing
   protected DAGClientAMProtocolBlockingPB getSessionAMProxy(ApplicationId appId) 
       throws TezException, IOException {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java b/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
index 6b39f83..efe4237 100644
--- a/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
+++ b/tez-api/src/main/java/org/apache/tez/client/TezClientUtils.java
@@ -75,9 +75,9 @@ import org.apache.hadoop.yarn.security.client.ClientToAMTokenIdentifier;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.apache.hadoop.yarn.util.Records;
 import org.apache.log4j.Level;
+import org.apache.tez.common.LogUtils;
 import org.apache.tez.common.TezCommonUtils;
 import org.apache.tez.common.TezYARNUtils;
-import org.apache.tez.common.impl.LogUtils;
 import org.apache.tez.common.security.ACLManager;
 import org.apache.tez.common.security.Groups;
 import org.apache.tez.common.security.JobTokenIdentifier;
@@ -462,7 +462,7 @@ public class TezClientUtils {
     // FIX sun bug mentioned in TEZ-327
     vargs.add("-Dsun.nio.ch.bugLevel=''");
 
-    vargs.add(TezConfiguration.TEZ_APPLICATION_MASTER_CLASS);
+    vargs.add(TezConstants.TEZ_APPLICATION_MASTER_CLASS);
     if (dag == null) {
       vargs.add("--" + TezConstants.TEZ_SESSION_MODE_CLI_OPTION);
     }
@@ -870,8 +870,7 @@ public class TezClientUtils {
     return proxy;
   }
 
-  @Private
-  public static void createSessionToken(String tokenIdentifier,
+  static void createSessionToken(String tokenIdentifier,
       JobTokenSecretManager jobTokenSecretManager,
       Credentials credentials) {
     JobTokenIdentifier identifier = new JobTokenIdentifier(new Text(
@@ -882,6 +881,7 @@ public class TezClientUtils {
     TokenCache.setSessionToken(sessionToken, credentials);
   }
 
+  @Private
   /**
    * Add computed Xmx value to java opts if both -Xms and -Xmx are not specified
    * @param javaOpts Current java opts

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/client/TezYarnClient.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/client/TezYarnClient.java b/tez-api/src/main/java/org/apache/tez/client/TezYarnClient.java
index 649e0e7..d58a0bb 100644
--- a/tez-api/src/main/java/org/apache/tez/client/TezYarnClient.java
+++ b/tez-api/src/main/java/org/apache/tez/client/TezYarnClient.java
@@ -20,6 +20,7 @@ package org.apache.tez.client;
 
 import java.io.IOException;
 
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
@@ -29,6 +30,7 @@ import org.apache.hadoop.yarn.conf.YarnConfiguration;
 import org.apache.hadoop.yarn.exceptions.YarnException;
 import org.apache.tez.dag.api.TezConfiguration;
 
+@Private
 public class TezYarnClient extends FrameworkClient {
 
   private final YarnClient yarnClient;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/LogUtils.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/LogUtils.java b/tez-api/src/main/java/org/apache/tez/common/LogUtils.java
new file mode 100644
index 0000000..4074160
--- /dev/null
+++ b/tez-api/src/main/java/org/apache/tez/common/LogUtils.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.tez.common;
+
+import org.apache.commons.logging.Log;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.security.Credentials;
+import org.apache.hadoop.security.token.Token;
+
+@Private
+public class LogUtils {
+
+  public static void logCredentials(Log log, Credentials credentials, String identifier) {
+    if (log.isDebugEnabled()) {
+      StringBuilder sb = new StringBuilder();
+      sb.append("#" + identifier + "Tokens=").append(credentials.numberOfTokens());
+      if (credentials.numberOfTokens() > 0) {
+        sb.append(", Services: ");
+        for (Token<?> t : credentials.getAllTokens()) {
+          sb.append(t.getService()).append(",");
+        }
+      }
+      log.debug(sb.toString());
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounter.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounter.java b/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounter.java
index e64a26c..7bc1109 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounter.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounter.java
@@ -23,7 +23,7 @@ import org.apache.hadoop.classification.InterfaceAudience;
 
 /**
  * An abstract counter class to provide common implementation of
- * the counter interface in both mapred and mapreduce packages.
+ * the counter interface
  */
 @InterfaceAudience.Private
 public abstract class AbstractCounter implements TezCounter {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounterGroup.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounterGroup.java b/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounterGroup.java
index d8896ed..e9a291b 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounterGroup.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounterGroup.java
@@ -33,7 +33,7 @@ import com.google.common.collect.Iterators;
 
 /**
  * An abstract class to provide common implementation of the
- * generic counter group in both mapred and mapreduce package.
+ * generic counter group
  *
  * @param <T> type of the counter for the group
  */

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounters.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounters.java b/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounters.java
index 4244dc2..6b9399d 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounters.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/AbstractCounters.java
@@ -32,7 +32,8 @@ import java.util.concurrent.ConcurrentSkipListMap;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 import org.apache.hadoop.io.WritableUtils;
@@ -48,8 +49,8 @@ import com.google.common.collect.Maps;
  * @param <C> type of counter inside the counters
  * @param <G> type of group inside the counters
  */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
+@Public
+@Unstable
 public abstract class AbstractCounters<C extends TezCounter,
                                        G extends CounterGroupBase<C>>
     implements Writable, Iterable<G> {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroup.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroup.java b/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroup.java
index bc7986d..c13e084 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroup.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroup.java
@@ -18,15 +18,15 @@
 
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 
 /**
  * A group of {@link TezCounter}s that logically belong together. Typically,
  * it is an {@link Enum} subclass and the counters are the values.
  */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
+@Public
+@Unstable
 public interface CounterGroup extends CounterGroupBase<TezCounter> {
   // essentially a typedef so user doesn't have to use generic syntax
 }

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroupBase.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroupBase.java b/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroupBase.java
index 3b702ba..be4bf77 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroupBase.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/CounterGroupBase.java
@@ -18,9 +18,9 @@
 
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.io.Writable;
 
 /**
@@ -28,8 +28,8 @@ import org.apache.hadoop.io.Writable;
  *
  * @param <T> type of the counter for the group
  */
-@InterfaceAudience.Public
-@InterfaceStability.Evolving
+@Public
+@Unstable
 public interface CounterGroupBase<T extends TezCounter>
     extends Writable, Iterable<T> {
 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounter.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounter.java b/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounter.java
index 08f4c5d..57d1053 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounter.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/FileSystemCounter.java
@@ -18,9 +18,9 @@
 
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 
-@InterfaceAudience.Private
+@Private
 public enum FileSystemCounter {
   BYTES_READ,
   BYTES_WRITTEN,

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/JobCounter.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/JobCounter.java b/tez-api/src/main/java/org/apache/tez/common/counters/JobCounter.java
index 1eb2be8..14e76bc 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/JobCounter.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/JobCounter.java
@@ -18,12 +18,10 @@
 
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 
 // Per-job counters
-@InterfaceAudience.Public
-@InterfaceStability.Evolving
+@Private
 public enum JobCounter {
   NUM_FAILED_MAPS, 
   NUM_FAILED_REDUCES,

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/ResourceBundles.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/ResourceBundles.java b/tez-api/src/main/java/org/apache/tez/common/counters/ResourceBundles.java
index 6cfe138..1742645 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/ResourceBundles.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/ResourceBundles.java
@@ -21,9 +21,12 @@ package org.apache.tez.common.counters;
 import java.util.Locale;
 import java.util.ResourceBundle;
 
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+
 /**
  * Helper class to handle resource bundles in a saner way
  */
+@Private
 public class ResourceBundles {
 
   /**

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/TaskCounter.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/TaskCounter.java b/tez-api/src/main/java/org/apache/tez/common/counters/TaskCounter.java
index 8ebc6c8..e89ed44 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/TaskCounter.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/TaskCounter.java
@@ -18,11 +18,10 @@
 
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 
 // Counters used by Task classes
-@InterfaceAudience.Private
-
+@Private
 public enum TaskCounter {
   // TODO Eventually, rename counters to be non-MR specific and map them to MR equivalent.
 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/TezCounter.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/TezCounter.java b/tez-api/src/main/java/org/apache/tez/common/counters/TezCounter.java
index 394c820..2b40ed2 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/TezCounter.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/TezCounter.java
@@ -18,23 +18,23 @@
 
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.io.Writable;
 
 /**
- * A named counter that tracks the progress of a map/reduce job.
+ * A named counter that tracks the progress of a job.
  *
  * <p><code>Counters</code> represent global counters, defined either by the
- * Map-Reduce framework or applications. Each <code>Counter</code> is named by
+ * framework or applications. Each <code>Counter</code> is named by
  * an {@link Enum} and has a long for the value.</p>
  *
  * <p><code>Counters</code> are bunched into Groups, each comprising of
  * counters from a particular <code>Enum</code> class.
  */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
+@Public
+@Unstable
 public interface TezCounter extends Writable {
 
   /**

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/counters/TezCounters.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/counters/TezCounters.java b/tez-api/src/main/java/org/apache/tez/common/counters/TezCounters.java
index 1c9521a..ca03f41 100644
--- a/tez-api/src/main/java/org/apache/tez/common/counters/TezCounters.java
+++ b/tez-api/src/main/java/org/apache/tez/common/counters/TezCounters.java
@@ -17,19 +17,19 @@
  */
 package org.apache.tez.common.counters;
 
-import org.apache.hadoop.classification.InterfaceAudience;
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 
 /**
  * <p><code>Counters</code> holds per job/task counters, defined either by the
- * Map-Reduce framework or applications. Each <code>Counter</code> can be of
+ * framework or applications. Each <code>Counter</code> can be of
  * any {@link Enum} type.</p>
  *
  * <p><code>Counters</code> are bunched into {@link CounterGroup}s, each
  * comprising of counters from a particular <code>Enum</code> class.
  */
-@InterfaceAudience.Public
-@InterfaceStability.Stable
+@Public
+@Unstable
 public class TezCounters extends AbstractCounters<TezCounter, CounterGroup> {
 
   // Mix framework group implementation into CounterGroup interface

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/impl/LogUtils.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/impl/LogUtils.java b/tez-api/src/main/java/org/apache/tez/common/impl/LogUtils.java
deleted file mode 100644
index d5e324e..0000000
--- a/tez-api/src/main/java/org/apache/tez/common/impl/LogUtils.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.tez.common.impl;
-
-import org.apache.commons.logging.Log;
-import org.apache.hadoop.classification.InterfaceAudience.Private;
-import org.apache.hadoop.security.Credentials;
-import org.apache.hadoop.security.token.Token;
-
-@Private
-public class LogUtils {
-
-  public static void logCredentials(Log log, Credentials credentials, String identifier) {
-    if (log.isDebugEnabled()) {
-      StringBuilder sb = new StringBuilder();
-      sb.append("#" + identifier + "Tokens=").append(credentials.numberOfTokens());
-      if (credentials.numberOfTokens() > 0) {
-        sb.append(", Services: ");
-        for (Token<?> t : credentials.getAllTokens()) {
-          sb.append(t.getService()).append(",");
-        }
-      }
-      log.debug(sb.toString());
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/common/security/DAGClientSecurityInfo.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/common/security/DAGClientSecurityInfo.java b/tez-api/src/main/java/org/apache/tez/common/security/DAGClientSecurityInfo.java
index 7320dea..a522c6a 100644
--- a/tez-api/src/main/java/org/apache/tez/common/security/DAGClientSecurityInfo.java
+++ b/tez-api/src/main/java/org/apache/tez/common/security/DAGClientSecurityInfo.java
@@ -20,6 +20,7 @@ package org.apache.tez.common.security;
 
 import java.lang.annotation.Annotation;
 
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.KerberosInfo;
 import org.apache.hadoop.security.SecurityInfo;
@@ -29,6 +30,7 @@ import org.apache.hadoop.security.token.TokenSelector;
 import org.apache.hadoop.yarn.security.client.ClientToAMTokenSelector;
 import org.apache.tez.dag.api.client.rpc.DAGClientAMProtocolBlockingPB;
 
+@Private
 public class DAGClientSecurityInfo extends SecurityInfo {
 
   @Override

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java b/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
index 4779259..6f61271 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DAG.java
@@ -35,13 +35,14 @@ import org.apache.commons.collections4.bidimap.DualLinkedHashBidiMap;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.Credentials;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.hadoop.yarn.api.records.LocalResourceType;
 import org.apache.hadoop.yarn.api.records.Resource;
-import org.apache.tez.common.impl.LogUtils;
 import org.apache.tez.common.security.DAGAccessControls;
+import org.apache.tez.common.LogUtils;
 import org.apache.tez.dag.api.EdgeProperty.DataMovementType;
 import org.apache.tez.dag.api.EdgeProperty.DataSourceType;
 import org.apache.tez.dag.api.EdgeProperty.SchedulingType;
@@ -64,6 +65,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
 
+@Public
 public class DAG {
   
   private static final Log LOG = LogFactory.getLog(DAG.class);

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/DAGSubmissionTimedOut.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DAGSubmissionTimedOut.java b/tez-api/src/main/java/org/apache/tez/dag/api/DAGSubmissionTimedOut.java
index 0622ed5..347ed3d 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DAGSubmissionTimedOut.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DAGSubmissionTimedOut.java
@@ -18,9 +18,12 @@
 
 package org.apache.tez.dag.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * Exception thrown when DAG submission to a Tez Session times out.
  */
+@Public
 public class DAGSubmissionTimedOut extends TezException {
 
   private static final long serialVersionUID = 8521202283261990622L;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/DagTypeConverters.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DagTypeConverters.java b/tez-api/src/main/java/org/apache/tez/dag/api/DagTypeConverters.java
index 62e4a9c..cd12f16 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DagTypeConverters.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DagTypeConverters.java
@@ -30,6 +30,7 @@ import java.util.TreeSet;
 
 import javax.annotation.Nullable;
 
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.io.DataInputByteBuffer;
 import org.apache.hadoop.security.Credentials;
@@ -74,6 +75,7 @@ import org.apache.tez.dag.api.records.DAGProtos.VertexLocationHintProto;
 import com.google.protobuf.ByteString;
 import com.google.protobuf.ByteString.Output;
 
+@Private
 public class DagTypeConverters {
 
   public static PlanLocalResourceVisibility convertToDAGPlan(LocalResourceVisibility visibility){

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
index b5e4e8f..849e701 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DataSinkDescriptor.java
@@ -20,12 +20,14 @@ package org.apache.tez.dag.api;
 
 import javax.annotation.Nullable;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.security.Credentials;
 
 /**
  * Defines the output and output committer for a data sink 
  *
  */
+@Public
 public class DataSinkDescriptor {
   private final OutputDescriptor outputDescriptor;
   private final OutputCommitterDescriptor committerDescriptor;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
index cae8ab3..ecd36b9 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/DataSourceDescriptor.java
@@ -23,6 +23,7 @@ import javax.annotation.Nullable;
 import java.util.Map;
 
 import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.security.Credentials;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.tez.dag.api.VertexLocationHint.TaskLocationHint;
@@ -33,6 +34,7 @@ import org.apache.tez.runtime.api.events.InputDataInformationEvent;
  * Defines the input and input initializer for a data source 
  *
  */
+@Public
 public class DataSourceDescriptor {
   private final InputDescriptor inputDescriptor;
   private final InputInitializerDescriptor initializerDescriptor;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/DuplicateDAGName.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/DuplicateDAGName.java b/tez-api/src/main/java/org/apache/tez/dag/api/DuplicateDAGName.java
deleted file mode 100644
index 52a835d..0000000
--- a/tez-api/src/main/java/org/apache/tez/dag/api/DuplicateDAGName.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.tez.dag.api;
-
-/**
- * This exception is thrown when there are duplicate DAG names in a session.
- * 
- */
-public class DuplicateDAGName extends TezException {
-
-  private static final long serialVersionUID = -6405001382308895028L;
-
-  public DuplicateDAGName(Throwable cause) {
-    super(cause);
-  }
-
-  public DuplicateDAGName(String message) {
-    super(message);
-  }
-
-  public DuplicateDAGName(String message, Throwable cause) {
-    super(message, cause);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/Edge.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/Edge.java b/tez-api/src/main/java/org/apache/tez/dag/api/Edge.java
index 31a45f3..a7f531f 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/Edge.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/Edge.java
@@ -18,7 +18,16 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 
+/**
+ * Edge defines the connection between a producer and consumer vertex in the DAG.
+ * @link {@link EdgeProperty} defines the relationship between them. The producer
+ * vertex provides input to the edge and the consumer vertex reads output from the 
+ * edge.
+ * 
+ */
+@Public
 public class Edge {
 
   private final Vertex inputVertex;
@@ -34,15 +43,26 @@ public class Edge {
     this.edgeProperty = edgeProperty;
   }
   
-  // RENAME to source and destination
+  /**
+   * The @link {@link Vertex} that provides input to the edge
+   * @return  {@link Vertex}
+   */
   public Vertex getInputVertex() {
     return inputVertex;
   }
 
+  /**
+   * The @link {@link Vertex} that reads output from the edge
+   * @retur {@link Vertex} 
+   */
   public Vertex getOutputVertex() {
     return outputVertex;
   }
 
+  /**
+   * The @link {@link EdgeProperty} for this edge
+   * @return {@link EdgeProperty}
+   */
   public EdgeProperty getEdgeProperty() {
     return edgeProperty;
   }

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPlugin.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPlugin.java b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPlugin.java
index 07bf3fe..7e8d3ae 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPlugin.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPlugin.java
@@ -21,7 +21,8 @@ package org.apache.tez.dag.api;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.tez.runtime.api.events.DataMovementEvent;
 import org.apache.tez.runtime.api.events.InputReadErrorEvent;
 
@@ -30,7 +31,8 @@ import org.apache.tez.runtime.api.events.InputReadErrorEvent;
  * consumer vertices. The routing is bi-directional. Users can customize the 
  * routing by providing an implementation of this interface.
  */
-@InterfaceStability.Unstable
+@Public
+@Unstable
 public abstract class EdgeManagerPlugin {
 
   private final EdgeManagerPluginContext context;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginContext.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginContext.java b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginContext.java
index d55ea6d..fbeebba 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginContext.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginContext.java
@@ -18,11 +18,16 @@
 
 package org.apache.tez.dag.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+
 /**
  * Context information provided to {@link EdgeManagerPlugin}s
  * This interface is not supposed to be implemented by users
  *
  */
+@Public
+@Unstable
 public interface EdgeManagerPluginContext {
   
   /**

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginDescriptor.java
index b3fb811..ff3a5ea 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeManagerPluginDescriptor.java
@@ -18,6 +18,12 @@
 
 package org.apache.tez.dag.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
+/**
+ * Describes the @link {@link EdgeManagerPlugin}
+ */
+@Public
 public class EdgeManagerPluginDescriptor extends EntityDescriptor<EdgeManagerPluginDescriptor> {
 
   public EdgeManagerPluginDescriptor(String edgeManagerPluginClassName) {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
index 6ed3c92..c481708 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EdgeProperty.java
@@ -18,9 +18,20 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 
 import com.google.common.base.Preconditions;
 
+/**
+ * An @link {@link EdgeProperty} defines the relation between the source and
+ * destination vertices of an edge. The relation consists of defining their
+ * communication pattern and dependencies. It also defines the user code that
+ * actually does the job of writing out data at the source and reading that data
+ * at the destination via the @link {@link InputDescriptor} and @link
+ * {@link OutputDescriptor}
+ */
+@Public
 public class EdgeProperty {
   
   /**
@@ -64,14 +75,16 @@ public class EdgeProperty {
      */
     PERSISTED,
     /**
-     * Source data is stored reliably and will always be available
+     * Source data is stored reliably and will always be available. This is not supported yet.
      */
+    @Unstable
     PERSISTED_RELIABLE,
     /**
      * Data produced by the source task is available only while the source task
      * is running. This requires the destination task to run concurrently with 
-     * the source task.
+     * the source task. This is not supported yet.
      */
+    @Unstable
     EPHEMERAL
   }
   
@@ -86,8 +99,10 @@ public class EdgeProperty {
      */
     SEQUENTIAL,
     /**
-     * Destination task must run concurrently with the source task
+     * Destination task must run concurrently with the source task.
+     *  This is not supported yet.
      */
+    @Unstable
     CONCURRENT
   }
   
@@ -148,14 +163,26 @@ public class EdgeProperty {
     this.outputDescriptor = edgeSource;
   }
   
+  /**
+   * Get the {@link DataMovementType}
+   * @return {@link DataMovementType}
+   */
   public DataMovementType getDataMovementType() {
     return dataMovementType;
   }
   
+  /**
+   * Get the {@link DataSourceType}
+   * @return {@link DataSourceType}
+   */
   public DataSourceType getDataSourceType() {
     return dataSourceType;
   }
   
+  /**
+   * Get the {@link SchedulingType}
+   * @return {@link SchedulingType}
+   */
   public SchedulingType getSchedulingType() {
     return schedulingType;
   }

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
index 468be99..c46be22 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/EntityDescriptor.java
@@ -23,11 +23,20 @@ import java.io.DataOutput;
 import java.io.IOException;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.io.Text;
 import org.apache.hadoop.io.Writable;
 
 import com.google.common.base.Preconditions;
 
+/**
+ * Describes a given user code entity. Consists of the name of the class implementing
+ * the user logic and a payload that can be used to configure an object instance of 
+ * that class. In addition some history information can be set for logging/debugging.
+  * <br>This is not supposed to be extended by users. Users are expected to use the derived
+  * classes for specific entities
+ */
+@Public
 @SuppressWarnings("unchecked")
 public abstract class EntityDescriptor<T extends EntityDescriptor<T>> implements Writable {
 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/GroupInputEdge.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/GroupInputEdge.java b/tez-api/src/main/java/org/apache/tez/dag/api/GroupInputEdge.java
index e7f25ea..eb3aa17 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/GroupInputEdge.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/GroupInputEdge.java
@@ -18,7 +18,17 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.tez.runtime.api.MergedLogicalInput;
 
+/**
+ * A composite edge that represents a common connection between a 
+ * group of input vertices and a single output vertex. This can be 
+ * used to perform e.g. an efficient union of the data produced by 
+ * the input vertices. The output vertex tasks see a unified/merged
+ * view of the data from all the input vertices.
+ */
+@Public
 public class GroupInputEdge {
 
   private final VertexGroup inputVertexGroup;
@@ -28,17 +38,23 @@ public class GroupInputEdge {
 
   // InputVertex(EdgeInput) ----- Edge ----- OutputVertex(EdgeOutput)]
   /**
-   * An Edge that connects a VertexGroup to a destination Vertex. The framework
-   * takes care of connecting the VertexGroup members with the destination
-   * vertex. The tasks of the destination vertex see only 1 input named after
-   * the VertexGroup instead of individual inputs from group members. These
-   * individual inputs are merged using the mergedInput before presenting them
-   * to the destination task.
+   * An Edge that connects a {@link VertexGroup} to a destination Vertex. The
+   * framework takes care of connecting the {@link VertexGroup} members with the
+   * destination vertex. The tasks of the destination vertex see only 1 input
+   * named after the VertexGroup instead of individual inputs from group
+   * members. These individual inputs are merged using the mergedInput before
+   * presenting them to the destination task.
    * 
-   * @param inputVertexGroup source VertexGroup
-   * @param outputVertex destination Vertex
-   * @param edgeProperty edge properties
-   * @param mergedInput MergedLogicalInput 
+   * @param inputVertexGroup
+   *          source {@link VertexGroup}
+   * @param outputVertex
+   *          destination Vertex
+   * @param edgeProperty
+   *          the common {@link EdgeProperty} for this {@link GroupInputEdge}
+   * @param mergedInput
+   *          {@link MergedLogicalInput} This input is responsible for merging
+   *          the data from the input vertex tasks to create a single input for
+   *          the output vertex tasks
    */
   public GroupInputEdge(VertexGroup inputVertexGroup, 
       Vertex outputVertex, 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/InputDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/InputDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/InputDescriptor.java
index b80be02..2a23c08 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/InputDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/InputDescriptor.java
@@ -19,7 +19,13 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.tez.runtime.api.Input;
 
+/**
+ * Describes the {@link Input}
+ */
+@Public
 public class InputDescriptor extends EntityDescriptor<InputDescriptor> {
 
   @Private // for Writable

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/InputInitializerDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/InputInitializerDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/InputInitializerDescriptor.java
index 4f6e63c..6db478d 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/InputInitializerDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/InputInitializerDescriptor.java
@@ -19,7 +19,13 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.tez.runtime.api.InputInitializer;
 
+/**
+ * Describes the {@link InputInitializer}
+ */
+@Public
 public class InputInitializerDescriptor extends EntityDescriptor<InputInitializerDescriptor> {
 
   @Private // for Writable

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/OutputCommitterDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/OutputCommitterDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/OutputCommitterDescriptor.java
index 43c3e3b..b2fa2c8 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/OutputCommitterDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/OutputCommitterDescriptor.java
@@ -19,7 +19,13 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.tez.runtime.api.OutputCommitter;
 
+/**
+ * Describes the {@link OutputCommitter}
+ */
+@Public
 public class OutputCommitterDescriptor extends EntityDescriptor<OutputCommitterDescriptor> {
 
   @Private // for Writable

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/OutputDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/OutputDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/OutputDescriptor.java
index 60752e3..95c9326 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/OutputDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/OutputDescriptor.java
@@ -19,7 +19,13 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.tez.runtime.api.Output;
 
+/**
+ * Describes the {@link Output}
+ */
+@Public
 public class OutputDescriptor extends EntityDescriptor<OutputDescriptor> {
 
   @Private // for Writable

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/ProcessorDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/ProcessorDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/ProcessorDescriptor.java
index 1640615..a2ec7f3 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/ProcessorDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/ProcessorDescriptor.java
@@ -19,7 +19,13 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.tez.runtime.api.Processor;
 
+/**
+ * Describes the {@link Processor}
+ */
+@Public
 public class ProcessorDescriptor extends EntityDescriptor<ProcessorDescriptor> {
 
   @Private // for Writable

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/SessionNotRunning.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/SessionNotRunning.java b/tez-api/src/main/java/org/apache/tez/dag/api/SessionNotRunning.java
index e8a274c..22544d5 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/SessionNotRunning.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/SessionNotRunning.java
@@ -18,10 +18,13 @@
 
 package org.apache.tez.dag.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * Exception thrown when the client cannot communicate with the Tez Session
  * as the Tez Session is no longer running.
  */
+@Public
 public class SessionNotRunning extends TezException {
 
   private static final long serialVersionUID = -287996170505550316L;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java b/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
index d3511a4..7a46d54 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/TezConfiguration.java
@@ -19,10 +19,15 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 
+/**
+ * Defines the configurations for Tez
+ */
+@Public
 public class TezConfiguration extends Configuration {
 
   public final static String TEZ_SITE_XML = "tez-site.xml";
@@ -39,8 +44,11 @@ public class TezConfiguration extends Configuration {
     super(conf);
   }
 
+  @Private
   public static final String TEZ_PREFIX = "tez.";
+  @Private
   public static final String TEZ_AM_PREFIX = TEZ_PREFIX + "am.";
+  @Private
   public static final String TEZ_TASK_PREFIX = TEZ_PREFIX + "task.";
 
   /** Whether to delete all the tez framework scratch data in staging dir on completion */
@@ -58,9 +66,6 @@ public class TezConfiguration extends Configuration {
    * name.
    */
   public static final String TEZ_CREDENTIALS_PATH = TEZ_PREFIX + "credentials.path";
-
-  public static final String TEZ_APPLICATION_MASTER_CLASS =
-      "org.apache.tez.dag.app.DAGAppMaster";
   
   /** Execution mode for submitting DAG's to the AM */
   public static final String TEZ_AM_SESSION_MODE = TEZ_AM_PREFIX + "mode.session";
@@ -119,6 +124,7 @@ public class TezConfiguration extends Configuration {
       + "launch.env";
   public static final String TEZ_TASK_LAUNCH_ENV_DEFAULT = "";
 
+  @Private
   public static final String TEZ_AM_CANCEL_DELEGATION_TOKEN = TEZ_AM_PREFIX +
       "am.complete.cancel.delegation.tokens";
   public static final boolean TEZ_AM_CANCEL_DELEGATION_TOKEN_DEFAULT = true;
@@ -226,18 +232,13 @@ public class TezConfiguration extends Configuration {
       + "resource.cpu.vcores";
   public static final int TEZ_TASK_RESOURCE_CPU_VCORES_DEFAULT = 1; 
 
-  public static final String
-          TEZ_AM_SLOWSTART_DAG_SCHEDULER_MIN_SHUFFLE_RESOURCE_FRACTION = TEZ_AM_PREFIX
-          + "slowstart-dag-scheduler.min-resource-fraction";
-  public static final float
-          TEZ_AM_SLOWSTART_DAG_SCHEDULER_MIN_SHUFFLE_RESOURCE_FRACTION_DEFAULT = 0.5f;
-
   /**
    * The complete path to the serialized dag plan file
    * <code>TEZ_AM_PLAN_PB_BINARY</code>. Used to make the plan available to
    * individual tasks if needed. This will typically be a path in the job submit
    * directory.
    */
+  @Private
   public static final String TEZ_AM_PLAN_REMOTE_PATH = TEZ_AM_PREFIX
       + "dag-am-plan.remote.path";
 
@@ -377,12 +378,12 @@ public class TezConfiguration extends Configuration {
       TEZ_AM_CONTAINER_REUSE_LOCALITY_DELAY_ALLOCATION_MILLIS =
       TEZ_AM_PREFIX + "container.reuse.locality.delay-allocation-millis";
   public static final long
-    TEZ_AM_CONTAINER_REUSE_LOCALITY_DELAY_ALLOCATION_MILLIS_DEFAULT = 1000l;
+    TEZ_AM_CONTAINER_REUSE_LOCALITY_DELAY_ALLOCATION_MILLIS_DEFAULT = 250l;
 
   /**
    * The minimum amount of time to hold on to a container if no task can be
    * assigned to it immediately. Only active when reuse is enabled. Set to -1 to
-   * never release a container in a session.
+   * never release a container.
    */
   public static final String TEZ_AM_CONTAINER_IDLE_RELEASE_TIMEOUT_MIN_MILLIS = 
     TEZ_AM_PREFIX + "container.idle.release-timeout-min.millis";
@@ -464,6 +465,7 @@ public class TezConfiguration extends Configuration {
 
   public static final String TEZ_APPLICATION_TYPE = "TEZ";
 
+  // TODO move this to TEZGrouper which is in runtime-library
   public static final String TEZ_AM_GROUPING_SPLIT_COUNT = TEZ_AM_PREFIX +
       "grouping.split-count";
   public static final String TEZ_AM_GROUPING_SPLIT_BY_LENGTH = TEZ_AM_PREFIX + 
@@ -504,6 +506,7 @@ public class TezConfiguration extends Configuration {
   public static final float TEZ_AM_GROUPING_RACK_SPLIT_SIZE_REDUCTION_DEFAULT = 0.75f;
 
 
+  @Private
   /**
    * Session-related properties
    */
@@ -538,9 +541,9 @@ public class TezConfiguration extends Configuration {
   public static final String TEZ_QUEUE_NAME = 
       TEZ_PREFIX + "queue.name";
 
-  public static final String TEZ_GENERATE_DAG_VIZ =
-      TEZ_PREFIX + "generate.dag.viz";
-  public static final boolean TEZ_GENERATE_DAG_VIZ_DEFAULT = true;
+  public static final String TEZ_GENERATE_DEBUG_ARTIFACTS =
+      TEZ_PREFIX + "generate.debug.artifacts";
+  public static final boolean TEZ_GENERATE_DEBUG_ARTIFACTS_DEFAULT = true;
 
   /**
    * Set of tasks for which specific launch command options need to be added.
@@ -630,6 +633,7 @@ public class TezConfiguration extends Configuration {
   /**
    *  Tez AM Inline Mode flag. Not valid till Tez-684 get checked-in
    */
+  @Private
   public static final String TEZ_AM_INLINE_TASK_EXECUTION_ENABLED =
     TEZ_AM_PREFIX + "inline.task.execution.enabled";
 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/TezConstants.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/TezConstants.java b/tez-api/src/main/java/org/apache/tez/dag/api/TezConstants.java
index 7767762..406a09f 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/TezConstants.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/TezConstants.java
@@ -26,6 +26,10 @@ import org.apache.hadoop.classification.InterfaceAudience;
 @InterfaceAudience.Private
 public class TezConstants {
 
+
+  public static final String TEZ_APPLICATION_MASTER_CLASS =
+      "org.apache.tez.dag.app.DAGAppMaster";
+  
   /**
    * Command-line argument to be set when running the Tez AM in session mode.
    */

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/TezException.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/TezException.java b/tez-api/src/main/java/org/apache/tez/dag/api/TezException.java
index e3b14e7..29c70d7 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/TezException.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/TezException.java
@@ -18,9 +18,12 @@
 
 package org.apache.tez.dag.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
- *  Base TezException
+ *  Checked Exception thrown upon error
  */
+@Public
 public class TezException extends Exception {
   private static final long serialVersionUID = 6337442733802964447L;
   public TezException(Throwable cause) { super(cause); }

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/TezUncheckedException.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/TezUncheckedException.java b/tez-api/src/main/java/org/apache/tez/dag/api/TezUncheckedException.java
index f55f6dd..af798b3 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/TezUncheckedException.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/TezUncheckedException.java
@@ -18,9 +18,12 @@
 
 package org.apache.tez.dag.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
- * Base Tez Unchecked Exception
+ * Unchecked Exception thrown upon error
  */
+@Public
 public class TezUncheckedException extends RuntimeException {
 
   private static final long serialVersionUID = -4956339297375386184L;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/UserPayload.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/UserPayload.java b/tez-api/src/main/java/org/apache/tez/dag/api/UserPayload.java
index e91d7df..1d97e36 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/UserPayload.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/UserPayload.java
@@ -20,10 +20,13 @@ package org.apache.tez.dag.api;
 
 import javax.annotation.Nullable;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * Wrapper class to hold user payloads
  * Provides a version to help in evolving the payloads
  */
+@Public
 public final class UserPayload {
   private final byte[] payload;
   private final int version;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java b/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
index 5624c4b..3a21c96 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/Vertex.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.yarn.api.records.LocalResource;
 import org.apache.hadoop.yarn.api.records.Resource;
 import org.apache.tez.dag.api.VertexGroup.GroupInfo;
@@ -34,6 +35,13 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
+/**
+ * Defines a vertex in the DAG. It represents the application logic that 
+ * processes and transforms the input data to create the output data. The 
+ * vertex represents the template from which tasks are created to execute 
+ * the application in parallel across a distributed execution environment.
+ */
+@Public
 public class Vertex {
 
   private final String vertexName;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/VertexGroup.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/VertexGroup.java b/tez-api/src/main/java/org/apache/tez/dag/api/VertexGroup.java
index 894d649..0594835 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/VertexGroup.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/VertexGroup.java
@@ -22,6 +22,8 @@ import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 
@@ -36,6 +38,7 @@ import com.google.common.collect.Sets;
  * member vertices of the VertexGroup.
  * A VertexGroup is not part of the final DAG.
  */
+@Public
 public class VertexGroup {
 
   static class GroupInfo {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java b/tez-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
index 979d363..898b6be 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/VertexLocationHint.java
@@ -22,10 +22,17 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.yarn.api.records.ContainerId;
 
 import com.google.common.base.Preconditions;
 
+/**
+ * Describes the placements hints for tasks in a vertex.
+ * The system will make a best-effort attempt to run the tasks 
+ * close to the specified locations.
+ */
+@Public
 public class VertexLocationHint  {
 
   private final List<TaskLocationHint> taskLocationHints;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPlugin.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPlugin.java b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPlugin.java
index 40e2cc0..f07734f 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPlugin.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPlugin.java
@@ -21,7 +21,8 @@ package org.apache.tez.dag.api;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.hadoop.classification.InterfaceStability;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.tez.runtime.api.Event;
 import org.apache.tez.runtime.api.events.VertexManagerEvent;
 
@@ -31,7 +32,8 @@ import org.apache.tez.runtime.api.events.VertexManagerEvent;
  * The plugin will be notified of interesting events in the vertex execution life
  * cycle and can respond to them by via the context object
  */
-@InterfaceStability.Unstable
+@Unstable
+@Public
 public abstract class VertexManagerPlugin {
 
   private final VertexManagerPluginContext context;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
index 8998199..0d0a680 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginContext.java
@@ -25,6 +25,7 @@ import java.util.Set;
 
 import javax.annotation.Nullable;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Unstable;
 import org.apache.hadoop.yarn.api.records.Container;
 import org.apache.hadoop.yarn.api.records.Resource;
@@ -34,10 +35,11 @@ import org.apache.tez.runtime.api.events.InputDataInformationEvent;
 
 import com.google.common.base.Preconditions;
 
-@Unstable
 /**
  * Object with API's to interact with the Tez execution engine
  */
+@Unstable
+@Public
 public interface VertexManagerPluginContext {
   
   public class TaskWithLocationHint {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginDescriptor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginDescriptor.java b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginDescriptor.java
index a8986b2..c2bce76 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginDescriptor.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/VertexManagerPluginDescriptor.java
@@ -19,7 +19,12 @@
 package org.apache.tez.dag.api;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 
+/**
+ * Describes the {@link VertexManagerPlugin} 
+ */
+@Public
 public class VertexManagerPluginDescriptor extends EntityDescriptor<VertexManagerPluginDescriptor> {
 
   @Private // for Writable

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClient.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClient.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClient.java
index d1e8e27..b745726 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClient.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGClient.java
@@ -25,15 +25,17 @@ import java.util.Set;
 import javax.annotation.Nullable;
 
 import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.tez.dag.api.TezException;
 import org.apache.tez.dag.api.Vertex;
 
-/*
- * Interface class for monitoring the <code>DAG</code> running in a Tez DAG
+/**
+ * Class for monitoring the <code>DAG</code> running in a Tez DAG
  * Application Master.
  */
+@Public
 public abstract class DAGClient implements Closeable {
 
   /**

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGStatus.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGStatus.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGStatus.java
index 1252ef8..8fc65e3 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGStatus.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/DAGStatus.java
@@ -23,13 +23,19 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.util.StringUtils;
 import org.apache.tez.common.counters.TezCounters;
+import org.apache.tez.dag.api.DAG;
 import org.apache.tez.dag.api.DagTypeConverters;
 import org.apache.tez.dag.api.records.DAGProtos.DAGStatusProtoOrBuilder;
 import org.apache.tez.dag.api.records.DAGProtos.StringProgressPairProto;
 import org.apache.tez.dag.api.TezUncheckedException;
 
+/**
+ * Describes the status of the {@link DAG}
+ */
+@Public
 public class DAGStatus {
 
   private static final String LINE_SEPARATOR = System

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/Progress.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/Progress.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/Progress.java
index a252683..98a7783 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/Progress.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/Progress.java
@@ -18,8 +18,15 @@
 
 package org.apache.tez.dag.api.client;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Evolving;
 import org.apache.tez.dag.api.records.DAGProtos.ProgressProtoOrBuilder;
 
+/**
+ * Describes the progress made by DAG execution
+ */
+@Public
+@Evolving
 public class Progress {
   
   ProgressProtoOrBuilder proxy = null;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/StatusGetOpts.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/StatusGetOpts.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/StatusGetOpts.java
index 922ab24..1a9df7a 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/StatusGetOpts.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/StatusGetOpts.java
@@ -18,10 +18,15 @@
 
 package org.apache.tez.dag.api.client;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+import org.apache.hadoop.classification.InterfaceStability.Evolving;
+
 /**
  * Status Get Options used when making calls like getDAGStatus and
  * getVertexStatus in DAGClient
  */
+@Public
+@Evolving
 public enum StatusGetOpts {
   /** Retrieve Counters with Status */
   GET_COUNTERS

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/VertexStatus.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/VertexStatus.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/VertexStatus.java
index 6b5a8e3..3684eef 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/VertexStatus.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/VertexStatus.java
@@ -22,12 +22,19 @@ import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import com.google.common.annotations.VisibleForTesting;
+
+import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.tez.common.counters.TezCounters;
 import org.apache.tez.dag.api.DagTypeConverters;
+import org.apache.tez.dag.api.Vertex;
 import org.apache.tez.dag.api.records.DAGProtos;
 import org.apache.tez.dag.api.records.DAGProtos.VertexStatusProtoOrBuilder;
 import org.apache.tez.dag.api.TezUncheckedException;
 
+/**
+ * Describes the status of the {@link Vertex}
+ */
+@Public
 public class VertexStatus {
 
   public enum State {

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientAMProtocolBlockingPB.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientAMProtocolBlockingPB.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientAMProtocolBlockingPB.java
index 4dd971e..9d7ebee 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientAMProtocolBlockingPB.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientAMProtocolBlockingPB.java
@@ -18,9 +18,11 @@
 
 package org.apache.tez.dag.api.client.rpc;
 
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.ipc.ProtocolInfo;
 import org.apache.tez.dag.api.client.rpc.DAGClientAMProtocolRPC.DAGClientAMProtocol;
 
+@Private
 @ProtocolInfo(
     protocolName = "org.apache.tez.dag.api.client.rpc.DAGClientAMProtocolBlockingPB",
     protocolVersion = 1)

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientRPCImpl.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientRPCImpl.java b/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientRPCImpl.java
index 701ee2a..e01ebd1 100644
--- a/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientRPCImpl.java
+++ b/tez-api/src/main/java/org/apache/tez/dag/api/client/rpc/DAGClientRPCImpl.java
@@ -29,6 +29,7 @@ import javax.annotation.Nullable;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.classification.InterfaceAudience.Private;
 import org.apache.hadoop.ipc.RPC;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
@@ -57,6 +58,7 @@ import org.apache.tez.dag.api.records.DAGProtos.DAGStatusStateProto;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.protobuf.ServiceException;
 
+@Private
 public class DAGClientRPCImpl extends DAGClient {
   private static final Log LOG = LogFactory.getLog(DAGClientRPCImpl.class);
 

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalIOProcessor.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalIOProcessor.java b/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalIOProcessor.java
index 0af498d..7714321 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalIOProcessor.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalIOProcessor.java
@@ -17,14 +17,15 @@
  */
 package org.apache.tez.runtime.api;
 
-import org.apache.hadoop.classification.InterfaceAudience;
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * Abstract representation of the interface {@link LogicalIOProcessor}.
- * Implements the base logic of some methods into this class.
- * It will reduce the code for any processor implementation.
+ * Implements the base logic of some methods into this class and is expected 
+ * to be the base class that is derived to implement the user {@link Processor}
  *
  */
-@InterfaceAudience.Public
+@Public
 public abstract class AbstractLogicalIOProcessor implements LogicalIOProcessor,
     LogicalIOProcessorFrameworkInterface {
   private final ProcessorContext context;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalInput.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalInput.java b/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalInput.java
index d1facc7..dea79b7 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalInput.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalInput.java
@@ -19,6 +19,8 @@ package org.apache.tez.runtime.api;
 
 import java.util.List;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * An abstract class which should be the base class for all implementations of LogicalInput.
  *
@@ -35,6 +37,7 @@ import java.util.List;
  * <p/>
  *
  */
+@Public
 public abstract class AbstractLogicalInput implements LogicalInput, LogicalInputFrameworkInterface {
 
   private final int numPhysicalInputs;

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalOutput.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalOutput.java b/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalOutput.java
index 317390a..f36b7f2 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalOutput.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/AbstractLogicalOutput.java
@@ -19,6 +19,8 @@ package org.apache.tez.runtime.api;
 
 import java.util.List;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * An abstract class which should be the base class for all implementations of LogicalOutput.
  *
@@ -28,6 +30,7 @@ import java.util.List;
  * This includes default implementations of a new method for convenience.
  *
  */
+@Public
 public abstract class AbstractLogicalOutput implements LogicalOutput, LogicalOutputFrameworkInterface {
 
   private final int numPhysicalOutputs;
@@ -62,7 +65,7 @@ public abstract class AbstractLogicalOutput implements LogicalOutput, LogicalOut
   }
 
   /**
-   * Return ahe {@link org.apache.tez.runtime.api.OutputContext} for this specific instance of
+   * Return the {@link org.apache.tez.runtime.api.OutputContext} for this specific instance of
    * the LogicalOutput
    *
    * @return the {@link org.apache.tez.runtime.api.OutputContext} for the output

http://git-wip-us.apache.org/repos/asf/tez/blob/84374adc/tez-api/src/main/java/org/apache/tez/runtime/api/Event.java
----------------------------------------------------------------------
diff --git a/tez-api/src/main/java/org/apache/tez/runtime/api/Event.java b/tez-api/src/main/java/org/apache/tez/runtime/api/Event.java
index 6f3d667..d9c00d3 100644
--- a/tez-api/src/main/java/org/apache/tez/runtime/api/Event.java
+++ b/tez-api/src/main/java/org/apache/tez/runtime/api/Event.java
@@ -18,11 +18,15 @@
 
 package org.apache.tez.runtime.api;
 
+import org.apache.hadoop.classification.InterfaceAudience.Public;
+
 /**
  * Base class for all events generated within the Tez execution engine.
  * Used as the primary mode of communication between the AM, Inputs, Processors
  * and Outputs.
+ * Users are not expected to implement or derive from this class
  */
+@Public
 public abstract class Event {
 
 }


Mime
View raw message