Search in sources :

Example 1 with ListKeysResponse

use of org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse in project ozone by apache.

the class OzoneManagerRequestHandler method listKeys.

private ListKeysResponse listKeys(ListKeysRequest request, int clientVersion) throws IOException {
    ListKeysResponse.Builder resp = ListKeysResponse.newBuilder();
    List<OmKeyInfo> keys = impl.listKeys(request.getVolumeName(), request.getBucketName(), request.getStartKey(), request.getPrefix(), request.getCount());
    for (OmKeyInfo key : keys) {
        resp.addKeyInfo(key.getProtobuf(true, clientVersion));
    }
    return resp.build();
}
Also used : OmKeyInfo(org.apache.hadoop.ozone.om.helpers.OmKeyInfo) RepeatedOmKeyInfo(org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo) ListKeysResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse)

Example 2 with ListKeysResponse

use of org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse in project ozone by apache.

the class OzoneManagerRequestHandler method handleReadRequest.

// TODO simplify it to make it shorter
@SuppressWarnings("methodlength")
@Override
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 ListTrash:
                ListTrashResponse listTrashResponse = listTrash(request.getListTrashRequest(), request.getVersion());
                responseBuilder.setListTrashResponse(listTrashResponse);
                break;
            case ListMultiPartUploadParts:
                MultipartUploadListPartsResponse listPartsResponse = listParts(request.getListMultipartUploadPartsRequest());
                responseBuilder.setListMultipartUploadPartsResponse(listPartsResponse);
                break;
            case ListMultipartUploads:
                ListMultipartUploadsResponse response = listMultipartUploads(request.getListMultipartUploadsRequest());
                responseBuilder.setListMultipartUploadsResponse(response);
                break;
            case ServiceList:
                ServiceListResponse serviceListResponse = getServiceList(request.getServiceListRequest());
                responseBuilder.setServiceListResponse(serviceListResponse);
                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 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;
            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();
}
Also used : FinalizeUpgradeProgressResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.FinalizeUpgradeProgressResponse) InfoBucketResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.InfoBucketResponse) LookupKeyResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.LookupKeyResponse) DBUpdatesResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.DBUpdatesResponse) ServiceListResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ServiceListResponse) CheckVolumeAccessResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CheckVolumeAccessResponse) ListKeysResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse) IOException(java.io.IOException) GetAclResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.GetAclResponse) OMResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse) ListMultipartUploadsResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListMultipartUploadsResponse) ListBucketsResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListBucketsResponse) Type(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Type) ListVolumeResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListVolumeResponse) ListTrashResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTrashResponse) ListStatusResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListStatusResponse) MultipartUploadListPartsResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.MultipartUploadListPartsResponse) GetFileStatusResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.GetFileStatusResponse) InfoVolumeResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.InfoVolumeResponse) PrepareStatusResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.PrepareStatusResponse) LookupFileResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.LookupFileResponse)

Example 3 with ListKeysResponse

use of org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse in project ozone by apache.

the class OzoneManagerProtocolClientSideTranslatorPB method listKeys.

/**
 * List keys in a bucket.
 */
@Override
public List<OmKeyInfo> listKeys(String volumeName, String bucketName, String startKey, String prefix, int maxKeys) throws IOException {
    List<OmKeyInfo> keys = new ArrayList<>();
    ListKeysRequest.Builder reqBuilder = ListKeysRequest.newBuilder();
    reqBuilder.setVolumeName(volumeName);
    reqBuilder.setBucketName(bucketName);
    reqBuilder.setCount(maxKeys);
    if (startKey != null) {
        reqBuilder.setStartKey(startKey);
    }
    if (prefix != null) {
        reqBuilder.setPrefix(prefix);
    }
    ListKeysRequest req = reqBuilder.build();
    OMRequest omRequest = createOMRequest(Type.ListKeys).setListKeysRequest(req).build();
    ListKeysResponse resp = handleError(submitRequest(omRequest)).getListKeysResponse();
    keys.addAll(resp.getKeyInfoList().stream().map(OmKeyInfo::getFromProtobuf).collect(Collectors.toList()));
    return keys;
}
Also used : OMRequest(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMRequest) OmKeyInfo(org.apache.hadoop.ozone.om.helpers.OmKeyInfo) RepeatedOmKeyInfo(org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo) ArrayList(java.util.ArrayList) ListKeysRequest(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysRequest) ListKeysResponse(org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse)

Aggregations

ListKeysResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysResponse)3 OmKeyInfo (org.apache.hadoop.ozone.om.helpers.OmKeyInfo)2 RepeatedOmKeyInfo (org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 CheckVolumeAccessResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CheckVolumeAccessResponse)1 DBUpdatesResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.DBUpdatesResponse)1 FinalizeUpgradeProgressResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.FinalizeUpgradeProgressResponse)1 GetAclResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.GetAclResponse)1 GetFileStatusResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.GetFileStatusResponse)1 InfoBucketResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.InfoBucketResponse)1 InfoVolumeResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.InfoVolumeResponse)1 ListBucketsResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListBucketsResponse)1 ListKeysRequest (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysRequest)1 ListMultipartUploadsResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListMultipartUploadsResponse)1 ListStatusResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListStatusResponse)1 ListTrashResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTrashResponse)1 ListVolumeResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListVolumeResponse)1 LookupFileResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.LookupFileResponse)1 LookupKeyResponse (org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.LookupKeyResponse)1