public OMResponse handleReadRequest()

in hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java [189:408]


  public OMResponse handleReadRequest(OMRequest request) {
    if (LOG.isDebugEnabled()) {
      LOG.debug("Received OMRequest: {}, ", request);
    }
    Type cmdType = request.getCmdType();
    OMResponse.Builder responseBuilder = OmResponseUtil.getOMResponseBuilder(
        request);
    try {
      switch (cmdType) {
      case CheckVolumeAccess:
        CheckVolumeAccessResponse checkVolumeAccessResponse = checkVolumeAccess(
            request.getCheckVolumeAccessRequest());
        responseBuilder.setCheckVolumeAccessResponse(checkVolumeAccessResponse);
        break;
      case InfoVolume:
        InfoVolumeResponse infoVolumeResponse = infoVolume(
            request.getInfoVolumeRequest());
        responseBuilder.setInfoVolumeResponse(infoVolumeResponse);
        break;
      case ListVolume:
        ListVolumeResponse listVolumeResponse = listVolumes(
            request.getListVolumeRequest());
        responseBuilder.setListVolumeResponse(listVolumeResponse);
        break;
      case InfoBucket:
        InfoBucketResponse infoBucketResponse = infoBucket(
            request.getInfoBucketRequest());
        responseBuilder.setInfoBucketResponse(infoBucketResponse);
        break;
      case ListBuckets:
        ListBucketsResponse listBucketsResponse = listBuckets(
            request.getListBucketsRequest());
        responseBuilder.setListBucketsResponse(listBucketsResponse);
        break;
      case LookupKey:
        LookupKeyResponse lookupKeyResponse = lookupKey(
            request.getLookupKeyRequest(), request.getVersion());
        responseBuilder.setLookupKeyResponse(lookupKeyResponse);
        break;
      case ListKeys:
        ListKeysResponse listKeysResponse = listKeys(
            request.getListKeysRequest(), request.getVersion());
        responseBuilder.setListKeysResponse(listKeysResponse);
        break;
      case ListKeysLight:
        ListKeysLightResponse listKeysLightResponse = listKeysLight(
            request.getListKeysRequest());
        responseBuilder.setListKeysLightResponse(listKeysLightResponse);
        break;
      case ListMultiPartUploadParts:
        MultipartUploadListPartsResponse listPartsResponse =
            listParts(request.getListMultipartUploadPartsRequest());
        responseBuilder.setListMultipartUploadPartsResponse(listPartsResponse);
        break;
      case ListMultipartUploads:
        ListMultipartUploadsResponse response =
            listMultipartUploads(request.getListMultipartUploadsRequest());
        responseBuilder.setListMultipartUploadsResponse(response);
        break;
      case ListOpenFiles:
        ListOpenFilesResponse listOpenFilesResponse = listOpenFiles(
            request.getListOpenFilesRequest(), request.getVersion());
        responseBuilder.setListOpenFilesResponse(listOpenFilesResponse);
        break;
      case ServiceList:
        ServiceListResponse serviceListResponse = getServiceList(
            request.getServiceListRequest());
        responseBuilder.setServiceListResponse(serviceListResponse);
        break;
      case RangerBGSync:
        RangerBGSyncResponse rangerBGSyncResponse = triggerRangerBGSync(
            request.getRangerBGSyncRequest());
        responseBuilder.setRangerBGSyncResponse(rangerBGSyncResponse);
        break;
      case DBUpdates:
        DBUpdatesResponse dbUpdatesResponse = getOMDBUpdates(
            request.getDbUpdatesRequest());
        responseBuilder.setDbUpdatesResponse(dbUpdatesResponse);
        break;
      case GetFileStatus:
        GetFileStatusResponse getFileStatusResponse = getOzoneFileStatus(
            request.getGetFileStatusRequest(), request.getVersion());
        responseBuilder.setGetFileStatusResponse(getFileStatusResponse);
        break;
      case LookupFile:
        LookupFileResponse lookupFileResponse =
            lookupFile(request.getLookupFileRequest(), request.getVersion());
        responseBuilder.setLookupFileResponse(lookupFileResponse);
        break;
      case ListStatus:
        ListStatusResponse listStatusResponse =
            listStatus(request.getListStatusRequest(), request.getVersion());
        responseBuilder.setListStatusResponse(listStatusResponse);
        break;
      case ListStatusLight:
        ListStatusLightResponse listStatusLightResponse =
            listStatusLight(request.getListStatusRequest(),
                request.getVersion());
        responseBuilder.setListStatusLightResponse(listStatusLightResponse);
        break;
      case GetAcl:
        GetAclResponse getAclResponse =
            getAcl(request.getGetAclRequest());
        responseBuilder.setGetAclResponse(getAclResponse);
        break;
      case FinalizeUpgradeProgress:
        FinalizeUpgradeProgressResponse upgradeProgressResponse =
            reportUpgradeProgress(request.getFinalizeUpgradeProgressRequest());
        responseBuilder
            .setFinalizeUpgradeProgressResponse(upgradeProgressResponse);
        break;
      case PrepareStatus:
        PrepareStatusResponse prepareStatusResponse = getPrepareStatus();
        responseBuilder.setPrepareStatusResponse(prepareStatusResponse);
        break;
      case GetS3VolumeContext:
        GetS3VolumeContextResponse s3VolumeContextResponse =
            getS3VolumeContext();
        responseBuilder.setGetS3VolumeContextResponse(s3VolumeContextResponse);
        break;
      case TenantGetUserInfo:
        impl.checkS3MultiTenancyEnabled();
        TenantGetUserInfoResponse getUserInfoResponse = tenantGetUserInfo(
            request.getTenantGetUserInfoRequest());
        responseBuilder.setTenantGetUserInfoResponse(getUserInfoResponse);
        break;
      case ListTenant:
        impl.checkS3MultiTenancyEnabled();
        ListTenantResponse listTenantResponse = listTenant(
            request.getListTenantRequest());
        responseBuilder.setListTenantResponse(listTenantResponse);
        break;
      case TenantListUser:
        impl.checkS3MultiTenancyEnabled();
        TenantListUserResponse listUserResponse = tenantListUsers(
            request.getTenantListUserRequest());
        responseBuilder.setTenantListUserResponse(listUserResponse);
        break;
      case GetKeyInfo:
        responseBuilder.setGetKeyInfoResponse(
            getKeyInfo(request.getGetKeyInfoRequest(), request.getVersion()));
        break;
      case ListSnapshot:
        OzoneManagerProtocolProtos.ListSnapshotResponse listSnapshotResponse =
            getSnapshots(request.getListSnapshotRequest());
        responseBuilder.setListSnapshotResponse(listSnapshotResponse);
        break;
      case SnapshotDiff:
        SnapshotDiffResponse snapshotDiffReport = snapshotDiff(
            request.getSnapshotDiffRequest());
        responseBuilder.setSnapshotDiffResponse(snapshotDiffReport);
        break;
      case CancelSnapshotDiff:
        CancelSnapshotDiffResponse cancelSnapshotDiff = cancelSnapshotDiff(
                request.getCancelSnapshotDiffRequest());
        responseBuilder.setCancelSnapshotDiffResponse(cancelSnapshotDiff);
        break;
      case ListSnapshotDiffJobs:
        ListSnapshotDiffJobResponse listSnapDiffResponse =
            listSnapshotDiffJobs(request.getListSnapshotDiffJobRequest());
        responseBuilder.setListSnapshotDiffJobResponse(listSnapDiffResponse);
        break;
      case EchoRPC:
        EchoRPCResponse echoRPCResponse =
            echoRPC(request.getEchoRPCRequest());
        responseBuilder.setEchoRPCResponse(echoRPCResponse);
        break;
      case TransferLeadership:
        responseBuilder.setTransferOmLeadershipResponse(transferLeadership(
            request.getTransferOmLeadershipRequest()));
        break;
      case RefetchSecretKey:
        responseBuilder.setRefetchSecretKeyResponse(refetchSecretKey());
        break;
      case SetSafeMode:
        SetSafeModeResponse setSafeModeResponse =
            setSafeMode(request.getSetSafeModeRequest());
        responseBuilder.setSetSafeModeResponse(setSafeModeResponse);
        break;
      case PrintCompactionLogDag:
        PrintCompactionLogDagResponse printCompactionLogDagResponse =
            printCompactionLogDag(request.getPrintCompactionLogDagRequest());
        responseBuilder
            .setPrintCompactionLogDagResponse(printCompactionLogDagResponse);
        break;
      case GetSnapshotInfo:
        OzoneManagerProtocolProtos.SnapshotInfoResponse snapshotInfoResponse =
            getSnapshotInfo(request.getSnapshotInfoRequest());
        responseBuilder.setSnapshotInfoResponse(snapshotInfoResponse);
        break;
      case GetQuotaRepairStatus:
        OzoneManagerProtocolProtos.GetQuotaRepairStatusResponse quotaRepairStatusRsp =
            getQuotaRepairStatus(request.getGetQuotaRepairStatusRequest());
        responseBuilder.setGetQuotaRepairStatusResponse(quotaRepairStatusRsp);
        break;
      case StartQuotaRepair:
        OzoneManagerProtocolProtos.StartQuotaRepairResponse startQuotaRepairRsp =
            startQuotaRepair(request.getStartQuotaRepairRequest());
        responseBuilder.setStartQuotaRepairResponse(startQuotaRepairRsp);
        break;
      case GetObjectTagging:
        OzoneManagerProtocolProtos.GetObjectTaggingResponse getObjectTaggingResponse =
            getObjectTagging(request.getGetObjectTaggingRequest());
        responseBuilder.setGetObjectTaggingResponse(getObjectTaggingResponse);
        break;
      default:
        responseBuilder.setSuccess(false);
        responseBuilder.setMessage("Unrecognized Command Type: " + cmdType);
        break;
      }
      responseBuilder.setSuccess(true);
    } catch (IOException ex) {
      responseBuilder.setSuccess(false);
      responseBuilder.setStatus(exceptionToResponseStatus(ex));
      if (ex.getMessage() != null) {
        responseBuilder.setMessage(ex.getMessage());
      }
    }
    return responseBuilder.build();
  }