/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapreduce/v2/api/impl/pb/client/MRClientProtocolPBClientImpl.java
https://github.com/patrickangeles/hadoop-common · Java · 286 lines · 250 code · 19 blank · 17 comment · 44 complexity · b2f8b9533276e17032725262ba9db55c MD5 · raw file
- /**
- * 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.hadoop.mapreduce.v2.api.impl.pb.client;
- import java.io.IOException;
- import java.lang.reflect.UndeclaredThrowableException;
- import java.net.InetSocketAddress;
- import org.apache.hadoop.conf.Configuration;
- import org.apache.hadoop.ipc.RPC;
- import org.apache.hadoop.mapreduce.v2.api.MRClientProtocol;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.FailTaskAttemptRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.FailTaskAttemptResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetCountersRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetCountersResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetDiagnosticsRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetDiagnosticsResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetJobReportRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetJobReportResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskAttemptCompletionEventsRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskAttemptCompletionEventsResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskAttemptReportRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskAttemptReportResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskReportRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskReportResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskReportsRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.GetTaskReportsResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.KillJobRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.KillJobResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.KillTaskAttemptRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.KillTaskAttemptResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.KillTaskRequest;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.KillTaskResponse;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.FailTaskAttemptRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.FailTaskAttemptResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetCountersRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetCountersResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetDiagnosticsRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetDiagnosticsResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetJobReportRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetJobReportResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskAttemptCompletionEventsRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskAttemptCompletionEventsResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskAttemptReportRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskAttemptReportResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskReportRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskReportResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskReportsRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.GetTaskReportsResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.KillJobRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.KillJobResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.KillTaskAttemptRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.KillTaskAttemptResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.KillTaskRequestPBImpl;
- import org.apache.hadoop.mapreduce.v2.api.protocolrecords.impl.pb.KillTaskResponsePBImpl;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.FailTaskAttemptRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetCountersRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetDiagnosticsRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetJobReportRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetTaskAttemptCompletionEventsRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetTaskAttemptReportRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetTaskReportRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.GetTaskReportsRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.KillJobRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.KillTaskAttemptRequestProto;
- import org.apache.hadoop.mapreduce.v2.proto.MRServiceProtos.KillTaskRequestProto;
- import org.apache.hadoop.yarn.exceptions.YarnRemoteException;
- import org.apache.hadoop.yarn.ipc.ProtoOverHadoopRpcEngine;
- import org.apache.hadoop.yarn.proto.MRClientProtocol.MRClientProtocolService;
- import com.google.protobuf.ServiceException;
- public class MRClientProtocolPBClientImpl implements MRClientProtocol {
- private MRClientProtocolService.BlockingInterface proxy;
-
- public MRClientProtocolPBClientImpl(long clientVersion, InetSocketAddress addr, Configuration conf) throws IOException {
- RPC.setProtocolEngine(conf, MRClientProtocolService.BlockingInterface.class, ProtoOverHadoopRpcEngine.class);
- proxy = (MRClientProtocolService.BlockingInterface)RPC.getProxy(
- MRClientProtocolService.BlockingInterface.class, clientVersion, addr, conf);
- }
-
- @Override
- public GetJobReportResponse getJobReport(GetJobReportRequest request)
- throws YarnRemoteException {
- GetJobReportRequestProto requestProto = ((GetJobReportRequestPBImpl)request).getProto();
- try {
- return new GetJobReportResponsePBImpl(proxy.getJobReport(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public GetTaskReportResponse getTaskReport(GetTaskReportRequest request)
- throws YarnRemoteException {
- GetTaskReportRequestProto requestProto = ((GetTaskReportRequestPBImpl)request).getProto();
- try {
- return new GetTaskReportResponsePBImpl(proxy.getTaskReport(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public GetTaskAttemptReportResponse getTaskAttemptReport(
- GetTaskAttemptReportRequest request) throws YarnRemoteException {
- GetTaskAttemptReportRequestProto requestProto = ((GetTaskAttemptReportRequestPBImpl)request).getProto();
- try {
- return new GetTaskAttemptReportResponsePBImpl(proxy.getTaskAttemptReport(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public GetCountersResponse getCounters(GetCountersRequest request)
- throws YarnRemoteException {
- GetCountersRequestProto requestProto = ((GetCountersRequestPBImpl)request).getProto();
- try {
- return new GetCountersResponsePBImpl(proxy.getCounters(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public GetTaskAttemptCompletionEventsResponse getTaskAttemptCompletionEvents(
- GetTaskAttemptCompletionEventsRequest request) throws YarnRemoteException {
- GetTaskAttemptCompletionEventsRequestProto requestProto = ((GetTaskAttemptCompletionEventsRequestPBImpl)request).getProto();
- try {
- return new GetTaskAttemptCompletionEventsResponsePBImpl(proxy.getTaskAttemptCompletionEvents(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public GetTaskReportsResponse getTaskReports(GetTaskReportsRequest request)
- throws YarnRemoteException {
- GetTaskReportsRequestProto requestProto = ((GetTaskReportsRequestPBImpl)request).getProto();
- try {
- return new GetTaskReportsResponsePBImpl(proxy.getTaskReports(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public GetDiagnosticsResponse getDiagnostics(GetDiagnosticsRequest request)
- throws YarnRemoteException {
- GetDiagnosticsRequestProto requestProto = ((GetDiagnosticsRequestPBImpl)request).getProto();
- try {
- return new GetDiagnosticsResponsePBImpl(proxy.getDiagnostics(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public KillJobResponse killJob(KillJobRequest request)
- throws YarnRemoteException {
- KillJobRequestProto requestProto = ((KillJobRequestPBImpl)request).getProto();
- try {
- return new KillJobResponsePBImpl(proxy.killJob(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public KillTaskResponse killTask(KillTaskRequest request)
- throws YarnRemoteException {
- KillTaskRequestProto requestProto = ((KillTaskRequestPBImpl)request).getProto();
- try {
- return new KillTaskResponsePBImpl(proxy.killTask(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public KillTaskAttemptResponse killTaskAttempt(KillTaskAttemptRequest request)
- throws YarnRemoteException {
- KillTaskAttemptRequestProto requestProto = ((KillTaskAttemptRequestPBImpl)request).getProto();
- try {
- return new KillTaskAttemptResponsePBImpl(proxy.killTaskAttempt(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
- @Override
- public FailTaskAttemptResponse failTaskAttempt(FailTaskAttemptRequest request)
- throws YarnRemoteException {
- FailTaskAttemptRequestProto requestProto = ((FailTaskAttemptRequestPBImpl)request).getProto();
- try {
- return new FailTaskAttemptResponsePBImpl(proxy.failTaskAttempt(null, requestProto));
- } catch (ServiceException e) {
- if (e.getCause() instanceof YarnRemoteException) {
- throw (YarnRemoteException)e.getCause();
- } else if (e.getCause() instanceof UndeclaredThrowableException) {
- throw (UndeclaredThrowableException)e.getCause();
- } else {
- throw new UndeclaredThrowableException(e);
- }
- }
- }
-
- }