/* * * * * 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.client; import javax.annotation.Nullable; import java.io.IOException; import java.util.Set; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.yarn.api.records.ApplicationReport; import org.apache.tez.dag.api.TezException; @InterfaceAudience.Private public class MRDAGClient extends DAGClient { private final DAGClient realClient; public MRDAGClient(DAGClient dagClient) { this.realClient = dagClient; } @Override public String getExecutionContext() { return realClient.getExecutionContext(); } @Override protected ApplicationReport getApplicationReportInternal() { return realClient.getApplicationReportInternal(); } public ApplicationReport getApplicationReport() { return getApplicationReportInternal(); } @Override public DAGStatus getDAGStatus( Set<StatusGetOpts> statusOptions) throws IOException, TezException { return realClient.getDAGStatus(statusOptions); } @Override public VertexStatus getVertexStatus(String vertexName, Set<StatusGetOpts> statusOptions) throws IOException, TezException { return realClient.getVertexStatus(vertexName, statusOptions); } @Override public String getDagIdentifierString() { return realClient.getDagIdentifierString(); } @Override public String getSessionIdentifierString() { return realClient.getSessionIdentifierString(); } @Override public void tryKillDAG() throws IOException, TezException { realClient.tryKillDAG(); } @Override public DAGStatus waitForCompletion() throws IOException, TezException, InterruptedException { return realClient.waitForCompletion(); } @Override public DAGStatus waitForCompletionWithStatusUpdates( @Nullable Set<StatusGetOpts> statusGetOpts) throws IOException, TezException, InterruptedException { return realClient.waitForCompletionWithStatusUpdates(statusGetOpts); } @Override public void close() throws IOException { realClient.close(); } @Override public DAGStatus getDAGStatus(@Nullable Set<StatusGetOpts> statusOptions, long timeout) throws IOException, TezException { return getDAGStatus(statusOptions); } }