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();
}