|
@@ -0,0 +1,315 @@
|
|
|
|
+/**
|
|
|
|
+ * 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.yarn.server.router.clientrm;
|
|
|
|
+
|
|
|
|
+import java.io.IOException;
|
|
|
|
+
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.CancelDelegationTokenResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.FailApplicationAttemptRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.FailApplicationAttemptResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetAllResourceProfilesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetAllResourceProfilesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetAllResourceTypeInfoRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetAllResourceTypeInfoResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptReportResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationAttemptsResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationReportResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetApplicationsResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetAttributesToNodesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetAttributesToNodesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterMetricsResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeAttributesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeAttributesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodeLabelsResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetClusterNodesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainerReportResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainersRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetContainersResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetDelegationTokenResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetLabelsToNodesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetLabelsToNodesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNewApplicationResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNewReservationResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToAttributesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToAttributesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetQueueInfoResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetQueueUserAclsInfoResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetResourceProfileRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.GetResourceProfileResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.KillApplicationResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.MoveApplicationAcrossQueuesRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.MoveApplicationAcrossQueuesResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.RenewDelegationTokenResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationDeleteResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationListRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationListResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationSubmissionResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.ReservationUpdateResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.SignalContainerRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.SignalContainerResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.UpdateApplicationPriorityRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.UpdateApplicationPriorityResponse;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.UpdateApplicationTimeoutsRequest;
|
|
|
|
+import org.apache.hadoop.yarn.api.protocolrecords.UpdateApplicationTimeoutsResponse;
|
|
|
|
+import org.apache.hadoop.yarn.exceptions.YarnException;
|
|
|
|
+
|
|
|
|
+/**
|
|
|
|
+ * Interceptor that does not do anything other than forwarding it to the next
|
|
|
|
+ * Interceptor in the chain.
|
|
|
|
+ */
|
|
|
|
+public class PassThroughClientRequestInterceptor extends AbstractClientRequestInterceptor {
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetNewApplicationResponse getNewApplication(
|
|
|
|
+ GetNewApplicationRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getNewApplication(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public SubmitApplicationResponse submitApplication(
|
|
|
|
+ SubmitApplicationRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().submitApplication(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public KillApplicationResponse forceKillApplication(
|
|
|
|
+ KillApplicationRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().forceKillApplication(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetClusterMetricsResponse getClusterMetrics(
|
|
|
|
+ GetClusterMetricsRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getClusterMetrics(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetClusterNodesResponse getClusterNodes(GetClusterNodesRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getClusterNodes(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetQueueInfoResponse getQueueInfo(GetQueueInfoRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getQueueInfo(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetQueueUserAclsInfoResponse getQueueUserAcls(
|
|
|
|
+ GetQueueUserAclsInfoRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getQueueUserAcls(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public MoveApplicationAcrossQueuesResponse moveApplicationAcrossQueues(
|
|
|
|
+ MoveApplicationAcrossQueuesRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().moveApplicationAcrossQueues(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetNewReservationResponse getNewReservation(
|
|
|
|
+ GetNewReservationRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getNewReservation(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ReservationSubmissionResponse submitReservation(
|
|
|
|
+ ReservationSubmissionRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().submitReservation(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ReservationListResponse listReservations(
|
|
|
|
+ ReservationListRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().listReservations(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ReservationUpdateResponse updateReservation(
|
|
|
|
+ ReservationUpdateRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().updateReservation(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public ReservationDeleteResponse deleteReservation(
|
|
|
|
+ ReservationDeleteRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().deleteReservation(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetNodesToLabelsResponse getNodeToLabels(
|
|
|
|
+ GetNodesToLabelsRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getNodeToLabels(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetLabelsToNodesResponse getLabelsToNodes(
|
|
|
|
+ GetLabelsToNodesRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getLabelsToNodes(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetClusterNodeLabelsResponse getClusterNodeLabels(
|
|
|
|
+ GetClusterNodeLabelsRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getClusterNodeLabels(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetApplicationReportResponse getApplicationReport(
|
|
|
|
+ GetApplicationReportRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getApplicationReport(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetApplicationsResponse getApplications(GetApplicationsRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getApplications(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetApplicationAttemptReportResponse getApplicationAttemptReport(
|
|
|
|
+ GetApplicationAttemptReportRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getApplicationAttemptReport(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetApplicationAttemptsResponse getApplicationAttempts(
|
|
|
|
+ GetApplicationAttemptsRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getApplicationAttempts(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetContainerReportResponse getContainerReport(
|
|
|
|
+ GetContainerReportRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getContainerReport(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetContainersResponse getContainers(GetContainersRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getContainers(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetDelegationTokenResponse getDelegationToken(
|
|
|
|
+ GetDelegationTokenRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getDelegationToken(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public RenewDelegationTokenResponse renewDelegationToken(
|
|
|
|
+ RenewDelegationTokenRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().renewDelegationToken(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public CancelDelegationTokenResponse cancelDelegationToken(
|
|
|
|
+ CancelDelegationTokenRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().cancelDelegationToken(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public FailApplicationAttemptResponse failApplicationAttempt(
|
|
|
|
+ FailApplicationAttemptRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().failApplicationAttempt(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public UpdateApplicationPriorityResponse updateApplicationPriority(
|
|
|
|
+ UpdateApplicationPriorityRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().updateApplicationPriority(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public SignalContainerResponse signalToContainer(
|
|
|
|
+ SignalContainerRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().signalToContainer(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public UpdateApplicationTimeoutsResponse updateApplicationTimeouts(
|
|
|
|
+ UpdateApplicationTimeoutsRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().updateApplicationTimeouts(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetAllResourceProfilesResponse getResourceProfiles(
|
|
|
|
+ GetAllResourceProfilesRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getResourceProfiles(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetResourceProfileResponse getResourceProfile(
|
|
|
|
+ GetResourceProfileRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getResourceProfile(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetAllResourceTypeInfoResponse getResourceTypeInfo(
|
|
|
|
+ GetAllResourceTypeInfoRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getResourceTypeInfo(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetAttributesToNodesResponse getAttributesToNodes(
|
|
|
|
+ GetAttributesToNodesRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getAttributesToNodes(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetClusterNodeAttributesResponse getClusterNodeAttributes(
|
|
|
|
+ GetClusterNodeAttributesRequest request)
|
|
|
|
+ throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getClusterNodeAttributes(request);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public GetNodesToAttributesResponse getNodesToAttributes(
|
|
|
|
+ GetNodesToAttributesRequest request) throws YarnException, IOException {
|
|
|
|
+ return getNextInterceptor().getNodesToAttributes(request);
|
|
|
|
+ }
|
|
|
|
+}
|