You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ae...@apache.org on 2019/02/15 05:22:21 UTC
[hadoop] branch trunk updated: HDDS-1108. Check s3bucket exists or
not before MPU operations. Contributed by Bharat Viswanadham.
This is an automated email from the ASF dual-hosted git repository.
aengineer pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push:
new 2d83b24 HDDS-1108. Check s3bucket exists or not before MPU operations. Contributed by Bharat Viswanadham.
2d83b24 is described below
commit 2d83b249941c2c95d3adfef54b155330b11a12c9
Author: Anu Engineer <ae...@apache.org>
AuthorDate: Thu Feb 14 18:10:18 2019 -0800
HDDS-1108. Check s3bucket exists or not before MPU operations.
Contributed by Bharat Viswanadham.
---
.../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
index 087fec4..3fa46f9 100644
--- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
+++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
@@ -171,6 +171,24 @@ public class KeyManagerImpl implements KeyManager {
}
}
+ /**
+ * Check S3 bucket exists or not.
+ * @param volumeName
+ * @param bucketName
+ * @throws IOException
+ */
+ private void validateS3Bucket(String volumeName, String bucketName)
+ throws IOException {
+
+ String bucketKey = metadataManager.getBucketKey(volumeName, bucketName);
+ //Check if bucket already exists
+ if (metadataManager.getBucketTable().get(bucketKey) == null) {
+ LOG.error("bucket not found: {}/{} ", volumeName, bucketName);
+ throw new OMException("Bucket not found",
+ OMException.ResultCodes.FAILED_BUCKET_NOT_FOUND);
+ }
+ }
+
@Override
public OmKeyLocationInfo allocateBlock(OmKeyArgs args, long clientID)
throws IOException {
@@ -663,6 +681,7 @@ public class KeyManagerImpl implements KeyManager {
String keyName = omKeyArgs.getKeyName();
metadataManager.getLock().acquireBucketLock(volumeName, bucketName);
+ validateS3Bucket(volumeName, bucketName);
try {
long time = Time.monotonicNowNanos();
String uploadID = UUID.randomUUID().toString() + "-" + Long.toString(
@@ -735,6 +754,7 @@ public class KeyManagerImpl implements KeyManager {
int partNumber = omKeyArgs.getMultipartUploadPartNumber();
metadataManager.getLock().acquireBucketLock(volumeName, bucketName);
+ validateS3Bucket(volumeName, bucketName);
String partName;
try {
String multipartKey = metadataManager.getMultipartKey(volumeName,
@@ -822,6 +842,7 @@ public class KeyManagerImpl implements KeyManager {
String keyName = omKeyArgs.getKeyName();
String uploadID = omKeyArgs.getMultipartUploadID();
metadataManager.getLock().acquireBucketLock(volumeName, bucketName);
+ validateS3Bucket(volumeName, bucketName);
try {
String multipartKey = metadataManager.getMultipartKey(volumeName,
bucketName, keyName, uploadID);
@@ -973,6 +994,7 @@ public class KeyManagerImpl implements KeyManager {
String keyName = omKeyArgs.getKeyName();
String uploadID = omKeyArgs.getMultipartUploadID();
Preconditions.checkNotNull(uploadID, "uploadID cannot be null");
+ validateS3Bucket(volumeName, bucketName);
metadataManager.getLock().acquireBucketLock(volumeName, bucketName);
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org