|
@@ -19,6 +19,8 @@ package org.apache.hadoop.ozone.protocolPB;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.protobuf.RpcController;
|
|
|
import com.google.protobuf.ServiceException;
|
|
|
+import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
|
|
|
+import org.apache.hadoop.ozone.om.exceptions.OMException;
|
|
|
import org.apache.hadoop.ozone.om.helpers.OmBucketArgs;
|
|
|
import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
|
|
|
import org.apache.hadoop.ozone.om.helpers.OmKeyArgs;
|
|
@@ -29,80 +31,86 @@ import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
|
|
|
import org.apache.hadoop.ozone.om.helpers.ServiceInfo;
|
|
|
import org.apache.hadoop.ozone.om.protocol.OzoneManagerProtocol;
|
|
|
import org.apache.hadoop.ozone.om.protocolPB.OzoneManagerProtocolPB;
|
|
|
-import org.apache.hadoop.ozone.om.exceptions.OMException;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.AllocateBlockRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.AllocateBlockResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CommitKeyRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CommitKeyResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CreateBucketRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CreateBucketResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.InfoBucketRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.InfoBucketResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.SetBucketPropertyRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.SetBucketPropertyResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.DeleteBucketRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.DeleteBucketResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CreateVolumeRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CreateVolumeResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.LocateKeyRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.LocateKeyResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.RenameKeyRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.RenameKeyResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.KeyArgs;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.SetVolumePropertyRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.SetVolumePropertyResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CheckVolumeAccessRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.CheckVolumeAccessResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.InfoVolumeRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.InfoVolumeResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.DeleteVolumeRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.DeleteVolumeResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ListVolumeRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ListVolumeResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ListBucketsRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ListBucketsResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ListKeysRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ListKeysResponse;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.Status;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ServiceListRequest;
|
|
|
-import org.apache.hadoop.ozone.protocol.proto
|
|
|
- .OzoneManagerProtocolProtos.ServiceListResponse;
|
|
|
-import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .AllocateBlockRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .AllocateBlockResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CheckVolumeAccessRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CheckVolumeAccessResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CommitKeyRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CommitKeyResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CreateBucketRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CreateBucketResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CreateVolumeRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .CreateVolumeResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .DeleteBucketRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .DeleteBucketResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .DeleteVolumeRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .DeleteVolumeResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .InfoBucketRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .InfoBucketResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .InfoVolumeRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .InfoVolumeResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .KeyArgs;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ListBucketsRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ListBucketsResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ListKeysRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ListKeysResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ListVolumeRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ListVolumeResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .LocateKeyRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .LocateKeyResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .RenameKeyRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .RenameKeyResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .S3BucketInfoRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .S3BucketInfoResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .S3BucketRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .S3BucketResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ServiceListRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .ServiceListResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .SetBucketPropertyRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .SetBucketPropertyResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .SetVolumePropertyRequest;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .SetVolumePropertyResponse;
|
|
|
+import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos
|
|
|
+ .Status;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
|
@@ -170,6 +178,10 @@ public class OzoneManagerProtocolServerSideTranslatorPB implements
|
|
|
return Status.OM_NOT_INITIALIZED;
|
|
|
case SCM_VERSION_MISMATCH_ERROR:
|
|
|
return Status.SCM_VERSION_MISMATCH_ERROR;
|
|
|
+ case S3_BUCKET_ALREADY_EXISTS:
|
|
|
+ return Status.S3_BUCKET_ALREADY_EXISTS;
|
|
|
+ case S3_BUCKET_NOT_FOUND:
|
|
|
+ return Status.S3_BUCKET_NOT_FOUND;
|
|
|
default:
|
|
|
return Status.INTERNAL_ERROR;
|
|
|
}
|
|
@@ -570,4 +582,31 @@ public class OzoneManagerProtocolServerSideTranslatorPB implements
|
|
|
}
|
|
|
return resp.build();
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public S3BucketResponse createS3Bucket(RpcController controller,
|
|
|
+ S3BucketRequest request) throws ServiceException {
|
|
|
+ S3BucketResponse.Builder resp = S3BucketResponse.newBuilder();
|
|
|
+ try {
|
|
|
+ impl.createS3Bucket(request.getUserName(), request.getS3Bucketname());
|
|
|
+ resp.setStatus(Status.OK);
|
|
|
+ } catch (IOException e) {
|
|
|
+ resp.setStatus(exceptionToResponseStatus(e));
|
|
|
+ }
|
|
|
+ return resp.build();
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public S3BucketInfoResponse getS3Bucketinfo(RpcController controller,
|
|
|
+ S3BucketInfoRequest request) throws ServiceException {
|
|
|
+ S3BucketInfoResponse.Builder resp = S3BucketInfoResponse.newBuilder();
|
|
|
+ try {
|
|
|
+ resp.setOzoneMapping(
|
|
|
+ impl.getOzoneBucketMapping(request.getS3BucketName()));
|
|
|
+ resp.setStatus(Status.OK);
|
|
|
+ } catch (IOException e) {
|
|
|
+ resp.setStatus(exceptionToResponseStatus(e));
|
|
|
+ }
|
|
|
+ return resp.build();
|
|
|
+ }
|
|
|
}
|