diff --git a/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/bucket/DeleteBucketHandler.java b/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/bucket/DeleteBucketHandler.java index f0c380f628d9..87278d21f1db 100644 --- a/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/bucket/DeleteBucketHandler.java +++ b/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/bucket/DeleteBucketHandler.java @@ -19,6 +19,7 @@ import static org.apache.hadoop.fs.FileSystem.FS_DEFAULT_NAME_KEY; import static org.apache.hadoop.hdds.scm.net.NetConstants.PATH_SEPARATOR_STR; +import static org.apache.hadoop.ozone.OFSPath.OFS_MOUNT_TMP_VOLUMENAME; import static org.apache.hadoop.ozone.OzoneConsts.OZONE_OFS_URI_SCHEME; import static org.apache.hadoop.ozone.om.helpers.BucketLayout.OBJECT_STORE; @@ -83,7 +84,7 @@ protected void execute(OzoneClient client, OzoneAddress address) } } OzoneBucket bucket = vol.getBucket(bucketName); - if (bucket.getBucketLayout().equals(OBJECT_STORE)) { + if (bucket.getBucketLayout().equals(OBJECT_STORE) || vol.getName().equals(OFS_MOUNT_TMP_VOLUMENAME)) { deleteOBSBucketRecursive(vol, bucket); } else { deleteFSBucketRecursive(vol, bucket); diff --git a/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/volume/DeleteVolumeHandler.java b/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/volume/DeleteVolumeHandler.java index f60d9317bd92..c7e6b242f9dd 100644 --- a/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/volume/DeleteVolumeHandler.java +++ b/hadoop-ozone/cli-shell/src/main/java/org/apache/hadoop/ozone/shell/volume/DeleteVolumeHandler.java @@ -19,6 +19,7 @@ import static org.apache.hadoop.fs.FileSystem.FS_DEFAULT_NAME_KEY; import static org.apache.hadoop.hdds.scm.net.NetConstants.PATH_SEPARATOR_STR; +import static org.apache.hadoop.ozone.OFSPath.OFS_MOUNT_TMP_VOLUMENAME; import static org.apache.hadoop.ozone.OzoneConsts.OZONE_OFS_URI_SCHEME; import java.io.IOException; @@ -195,8 +196,14 @@ public void run() { switch (bucket.getBucketLayout()) { case FILE_SYSTEM_OPTIMIZED: case LEGACY: - if (!cleanFSBucket(bucket)) { - throw new RuntimeException("Failed to clean bucket"); + if (vol.getName().equals(OFS_MOUNT_TMP_VOLUMENAME)) { + if (!cleanOBSBucket(bucket)) { + throw new RuntimeException("Failed to clean bucket"); + } + } else { + if (!cleanFSBucket(bucket)) { + throw new RuntimeException("Failed to clean bucket"); + } } break; case OBJECT_STORE: