This is an automated email from the ASF dual-hosted git repository.
ivandika pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 0b75cb00be HDDS-11251. Deprecate definitions and remove listTrash and
recoverTrash APIs (#7060)
0b75cb00be is described below
commit 0b75cb00beb6fa7df7467bcc89054d567be39ff5
Author: Abhishek Pal <[email protected]>
AuthorDate: Tue Aug 27 15:00:41 2024 +0530
HDDS-11251. Deprecate definitions and remove listTrash and recoverTrash
APIs (#7060)
---
.../org/apache/hadoop/ozone/OzoneConfigKeys.java | 4 -
.../common/src/main/resources/ozone-default.xml | 8 --
.../ozone/client/protocol/ClientProtocol.java | 34 -----
.../apache/hadoop/ozone/client/rpc/RpcClient.java | 20 ---
.../main/java/org/apache/hadoop/ozone/OmUtils.java | 8 ++
.../ozone/om/protocol/OzoneManagerProtocol.java | 34 -----
...OzoneManagerProtocolClientSideTranslatorPB.java | 84 -------------
.../org/apache/hadoop/ozone/om/TestOmMetrics.java | 19 +--
.../src/main/proto/OmClientProtocol.proto | 44 ++++---
.../apache/hadoop/ozone/om/OMMetadataManager.java | 30 -----
.../org/apache/hadoop/ozone/om/KeyManager.java | 19 ---
.../org/apache/hadoop/ozone/om/KeyManagerImpl.java | 22 ----
.../java/org/apache/hadoop/ozone/om/OMMetrics.java | 21 ----
.../hadoop/ozone/om/OmMetadataManagerImpl.java | 21 ----
.../org/apache/hadoop/ozone/om/OzoneManager.java | 34 -----
.../protocolPB/OzoneManagerRequestHandler.java | 28 -----
.../apache/hadoop/ozone/om/TestTrashService.java | 137 ---------------------
.../hadoop/ozone/client/ClientProtocolStub.java | 16 ---
18 files changed, 38 insertions(+), 545 deletions(-)
diff --git
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
index c61502ff4a..c2cdb4d0d8 100644
---
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
+++
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/ozone/OzoneConfigKeys.java
@@ -535,10 +535,6 @@ public final class OzoneConfigKeys {
public static final int OZONE_MANAGER_STRIPED_LOCK_SIZE_DEFAULT = 512;
- public static final String OZONE_CLIENT_LIST_TRASH_KEYS_MAX =
- "ozone.client.list.trash.keys.max";
- public static final int OZONE_CLIENT_LIST_TRASH_KEYS_MAX_DEFAULT = 1000;
-
public static final String OZONE_HTTP_BASEDIR = "ozone.http.basedir";
public static final String OZONE_HTTP_POLICY_KEY =
diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml
b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index 20c1bed89b..e72b718e9f 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -3406,14 +3406,6 @@
unhealthy will each have their own limit.
</description>
</property>
- <property>
- <name>ozone.client.list.trash.keys.max</name>
- <value>1000</value>
- <tag>OZONE, CLIENT</tag>
- <description>
- The maximum number of keys to return for a list trash request.
- </description>
- </property>
<property>
<name>ozone.http.basedir</name>
<value/>
diff --git
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/protocol/ClientProtocol.java
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/protocol/ClientProtocol.java
index 16211ebbb8..8d9614b554 100644
---
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/protocol/ClientProtocol.java
+++
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/protocol/ClientProtocol.java
@@ -59,7 +59,6 @@ import
org.apache.hadoop.ozone.om.helpers.OmMultipartUploadCompleteInfo;
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.S3VolumeContext;
import org.apache.hadoop.ozone.om.helpers.TenantStateList;
@@ -514,39 +513,6 @@ public interface ClientProtocol {
String keyPrefix, String prevKey, int maxListResult)
throws IOException;
- /**
- * List trash allows the user to list the keys that were marked as deleted,
- * but not actually deleted by Ozone Manager. This allows a user to recover
- * keys within a configurable window.
- * @param volumeName - The volume name, which can also be a wild card
- * using '*'.
- * @param bucketName - The bucket name, which can also be a wild card
- * using '*'.
- * @param startKeyName - List keys from a specific key name.
- * @param keyPrefix - List keys using a specific prefix.
- * @param maxKeys - The number of keys to be returned. This must be below
- * the cluster level set by admins.
- * @return The list of keys that are deleted from the deleted table.
- * @throws IOException
- */
- List<RepeatedOmKeyInfo> listTrash(String volumeName, String bucketName,
- String startKeyName, String keyPrefix,
- int maxKeys)
- throws IOException;
-
- /**
- * Recover trash allows the user to recover keys that were marked as deleted,
- * but not actually deleted by Ozone Manager.
- * @param volumeName - The volume name.
- * @param bucketName - The bucket name.
- * @param keyName - The key user want to recover.
- * @param destinationBucket - The bucket user want to recover to.
- * @return The result of recovering operation is success or not.
- * @throws IOException
- */
- boolean recoverTrash(String volumeName, String bucketName, String keyName,
- String destinationBucket) throws IOException;
-
/**
* Get OzoneKey.
* @param volumeName Name of the Volume
diff --git
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
index bfeb9c1e6c..f01fddf40f 100644
---
a/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
+++
b/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java
@@ -123,7 +123,6 @@ import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.S3VolumeContext;
import org.apache.hadoop.ozone.om.helpers.ServiceInfo;
@@ -1771,25 +1770,6 @@ public class RpcClient implements ClientProtocol {
}
}
- @Override
- public List<RepeatedOmKeyInfo> listTrash(String volumeName, String
bucketName,
- String startKeyName, String keyPrefix, int maxKeys) throws IOException {
-
- Preconditions.checkNotNull(volumeName);
- Preconditions.checkNotNull(bucketName);
-
- return ozoneManagerClient.listTrash(volumeName, bucketName, startKeyName,
- keyPrefix, maxKeys);
- }
-
- @Override
- public boolean recoverTrash(String volumeName, String bucketName,
- String keyName, String destinationBucket) throws IOException {
-
- return ozoneManagerClient.recoverTrash(volumeName, bucketName, keyName,
- destinationBucket);
- }
-
@Override
public OzoneKeyDetails getKeyDetails(
String volumeName, String bucketName, String keyName)
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OmUtils.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OmUtils.java
index 11f176362a..27015d34a3 100644
--- a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OmUtils.java
+++ b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/OmUtils.java
@@ -243,6 +243,10 @@ public final class OmUtils {
case ListKeys:
case ListKeysLight:
case ListTrash:
+ // ListTrash is deprecated by HDDS-11251. Keeping this in here
+ // As protobuf currently doesn't support deprecating enum fields
+ // TODO: Remove once migrated to proto3 and mark fields in proto
+ // as deprecated
case ServiceList:
case ListOpenFiles:
case ListMultiPartUploadParts:
@@ -304,6 +308,10 @@ public final class OmUtils {
case AddAcl:
case PurgeKeys:
case RecoverTrash:
+ // RecoverTrash is deprecated by HDDS-11251. Keeping this in here
+ // As protobuf currently doesn't support deprecating enum fields
+ // TODO: Remove once migrated to proto3 and mark fields in proto
+ // as deprecated
case FinalizeUpgrade:
case Prepare:
case CancelPrepare:
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocol/OzoneManagerProtocol.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocol/OzoneManagerProtocol.java
index 45922c107c..0f01761b17 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocol/OzoneManagerProtocol.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocol/OzoneManagerProtocol.java
@@ -56,7 +56,6 @@ import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.S3VolumeContext;
import org.apache.hadoop.ozone.om.helpers.ServiceInfo;
@@ -1055,39 +1054,6 @@ public interface OzoneManagerProtocol
OzoneManagerProtocolProtos.DBUpdatesRequest dbUpdatesRequest)
throws IOException;
- /**
- * List trash allows the user to list the keys that were marked as deleted,
- * but not actually deleted by Ozone Manager. This allows a user to recover
- * keys within a configurable window.
- * @param volumeName - The volume name, which can also be a wild card
- * using '*'.
- * @param bucketName - The bucket name, which can also be a wild card
- * using '*'.
- * @param startKeyName - List keys from a specific key name.
- * @param keyPrefix - List keys using a specific prefix.
- * @param maxKeys - The number of keys to be returned. This must be below
- * the cluster level set by admins.
- * @return The list of keys that are deleted from the deleted table.
- * @throws IOException
- */
- List<RepeatedOmKeyInfo> listTrash(String volumeName, String bucketName,
- String startKeyName, String keyPrefix, int maxKeys) throws IOException;
-
- /**
- * Recover trash allows the user to recover keys that were marked as deleted,
- * but not actually deleted by Ozone Manager.
- * @param volumeName - The volume name.
- * @param bucketName - The bucket name.
- * @param keyName - The key user want to recover.
- * @param destinationBucket - The bucket user want to recover to.
- * @return The result of recovering operation is success or not.
- * @throws IOException
- */
- default boolean recoverTrash(String volumeName, String bucketName,
- String keyName, String destinationBucket) throws IOException {
- return false;
- }
-
/**
*
* @param txnApplyWaitTimeoutSeconds Max time in SECONDS to wait for all
diff --git
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
index f70beed5f2..d3e39550df 100644
---
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
+++
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/protocolPB/OzoneManagerProtocolClientSideTranslatorPB.java
@@ -72,7 +72,6 @@ import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.S3VolumeContext;
import org.apache.hadoop.ozone.om.helpers.ServiceInfo;
@@ -150,8 +149,6 @@ import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListSta
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListStatusResponse;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTenantRequest;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTenantResponse;
-import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTrashRequest;
-import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTrashResponse;
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.LookupFileRequest;
@@ -182,8 +179,6 @@ import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RangerB
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RangerBGSyncResponse;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RecoverLeaseRequest;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RecoverLeaseResponse;
-import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RecoverTrashRequest;
-import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RecoverTrashResponse;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RefetchSecretKeyRequest;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RefetchSecretKeyResponse;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.RemoveAclRequest;
@@ -2442,85 +2437,6 @@ public final class
OzoneManagerProtocolClientSideTranslatorPB
return listStatus(args, recursive, startKey, numEntries, false);
}
- @Override
- public List<RepeatedOmKeyInfo> listTrash(String volumeName,
- String bucketName, String startKeyName, String keyPrefix, int maxKeys)
- throws IOException {
-
- Preconditions.checkArgument(Strings.isNullOrEmpty(volumeName),
- "The volume name cannot be null or " +
- "empty. Please enter a valid volume name or use '*' as a wild card");
-
- Preconditions.checkArgument(Strings.isNullOrEmpty(bucketName),
- "The bucket name cannot be null or " +
- "empty. Please enter a valid bucket name or use '*' as a wild card");
-
- ListTrashRequest trashRequest = ListTrashRequest.newBuilder()
- .setVolumeName(volumeName)
- .setBucketName(bucketName)
- .setStartKeyName(startKeyName)
- .setKeyPrefix(keyPrefix)
- .setMaxKeys(maxKeys)
- .build();
-
- OMRequest omRequest = createOMRequest(Type.ListTrash)
- .setListTrashRequest(trashRequest)
- .build();
-
- ListTrashResponse trashResponse =
- handleError(submitRequest(omRequest)).getListTrashResponse();
-
- List<RepeatedOmKeyInfo> deletedKeyList =
- new ArrayList<>(trashResponse.getDeletedKeysCount());
-
- List<RepeatedOmKeyInfo> list = new ArrayList<>();
- for (OzoneManagerProtocolProtos.RepeatedKeyInfo
- repeatedKeyInfo : trashResponse.getDeletedKeysList()) {
- RepeatedOmKeyInfo fromProto =
- RepeatedOmKeyInfo.getFromProto(repeatedKeyInfo);
- list.add(fromProto);
- }
- deletedKeyList.addAll(list);
-
- return deletedKeyList;
- }
-
- @Override
- public boolean recoverTrash(String volumeName, String bucketName,
- String keyName, String destinationBucket) throws IOException {
-
- Preconditions.checkArgument(Strings.isNullOrEmpty(volumeName),
- "The volume name cannot be null or empty. " +
- "Please enter a valid volume name.");
-
- Preconditions.checkArgument(Strings.isNullOrEmpty(bucketName),
- "The bucket name cannot be null or empty. " +
- "Please enter a valid bucket name.");
-
- Preconditions.checkArgument(Strings.isNullOrEmpty(keyName),
- "The key name cannot be null or empty. " +
- "Please enter a valid key name.");
-
- Preconditions.checkArgument(Strings.isNullOrEmpty(destinationBucket),
- "The destination bucket name cannot be null or empty. " +
- "Please enter a valid destination bucket name.");
-
- RecoverTrashRequest.Builder req = RecoverTrashRequest.newBuilder()
- .setVolumeName(volumeName)
- .setBucketName(bucketName)
- .setKeyName(keyName)
- .setDestinationBucket(destinationBucket);
-
- OMRequest omRequest = createOMRequest(Type.RecoverTrash)
- .setRecoverTrashRequest(req)
- .build();
-
- RecoverTrashResponse recoverResponse =
- handleError(submitRequest(omRequest)).getRecoverTrashResponse();
-
- return recoverResponse.getResponse();
- }
-
@Override
public long prepareOzoneManager(
long txnApplyWaitTimeoutSeconds, long txnApplyCheckIntervalSeconds)
diff --git
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
index 4619af1baa..0481ee4a86 100644
---
a/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
+++
b/hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOmMetrics.java
@@ -338,7 +338,6 @@ public class TestOmMetrics {
long initialNumKeyLookup = getLongCounter("NumKeyLookup", omMetrics);
long initialNumKeyDeletes = getLongCounter("NumKeyDeletes", omMetrics);
long initialNumKeyLists = getLongCounter("NumKeyLists", omMetrics);
- long initialNumTrashKeyLists = getLongCounter("NumTrashKeyLists",
omMetrics);
long initialNumKeys = getLongCounter("NumKeys", omMetrics);
long initialNumInitiateMultipartUploads =
getLongCounter("NumInitiateMultipartUploads", omMetrics);
@@ -346,7 +345,6 @@ public class TestOmMetrics {
long initialNumKeyAllocateFails = getLongCounter("NumKeyAllocateFails",
omMetrics);
long initialNumKeyLookupFails = getLongCounter("NumKeyLookupFails",
omMetrics);
long initialNumKeyDeleteFails = getLongCounter("NumKeyDeleteFails",
omMetrics);
- long initialNumTrashKeyListFails = getLongCounter("NumTrashKeyListFails",
omMetrics);
long initialNumInitiateMultipartUploadFails =
getLongCounter("NumInitiateMultipartUploadFails", omMetrics);
long initialNumBlockAllocationFails =
getLongCounter("NumBlockAllocationFails", omMetrics);
long initialNumKeyListFails = getLongCounter("NumKeyListFails", omMetrics);
@@ -356,16 +354,15 @@ public class TestOmMetrics {
TestDataUtil.createVolumeAndBucket(client, volumeName, bucketName,
BucketLayout.LEGACY);
OmKeyArgs keyArgs = createKeyArgs(volumeName, bucketName,
RatisReplicationConfig.getInstance(HddsProtos.ReplicationFactor.THREE));
- doKeyOps(keyArgs);
+ doKeyOps(keyArgs); // This will perform 7 different operations on the key
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumKeyOps + 8, getLongCounter("NumKeyOps", omMetrics));
+ assertEquals(initialNumKeyOps + 7, getLongCounter("NumKeyOps", omMetrics));
assertEquals(initialNumKeyAllocate + 1, getLongCounter("NumKeyAllocate",
omMetrics));
assertEquals(initialNumKeyLookup + 1, getLongCounter("NumKeyLookup",
omMetrics));
assertEquals(initialNumKeyDeletes + 1, getLongCounter("NumKeyDeletes",
omMetrics));
assertEquals(initialNumKeyLists + 1, getLongCounter("NumKeyLists",
omMetrics));
- assertEquals(initialNumTrashKeyLists + 1,
getLongCounter("NumTrashKeyLists", omMetrics));
assertEquals(initialNumKeys, getLongCounter("NumKeys", omMetrics));
assertEquals(initialNumInitiateMultipartUploads + 1,
getLongCounter("NumInitiateMultipartUploads", omMetrics));
@@ -409,8 +406,6 @@ public class TestOmMetrics {
doThrow(exception).when(mockKm).lookupKey(any(), any(), any());
doThrow(exception).when(mockKm).listKeys(
any(), any(), any(), any(), anyInt());
- doThrow(exception).when(mockKm).listTrash(
- any(), any(), any(), any(), anyInt());
OmMetadataReader omMetadataReader =
(OmMetadataReader) ozoneManager.getOmMetadataReader().get();
HddsWhiteboxTestUtils.setInternalState(
@@ -426,19 +421,17 @@ public class TestOmMetrics {
doKeyOps(keyArgs);
omMetrics = getMetrics("OMMetrics");
- assertEquals(initialNumKeyOps + 31, getLongCounter("NumKeyOps",
omMetrics));
+ assertEquals(initialNumKeyOps + 28, getLongCounter("NumKeyOps",
omMetrics));
assertEquals(initialNumKeyAllocate + 6, getLongCounter("NumKeyAllocate",
omMetrics));
assertEquals(initialNumKeyLookup + 3, getLongCounter("NumKeyLookup",
omMetrics));
assertEquals(initialNumKeyDeletes + 4, getLongCounter("NumKeyDeletes",
omMetrics));
assertEquals(initialNumKeyLists + 3, getLongCounter("NumKeyLists",
omMetrics));
- assertEquals(initialNumTrashKeyLists + 3,
getLongCounter("NumTrashKeyLists", omMetrics));
assertEquals(initialNumInitiateMultipartUploads + 3,
getLongCounter("NumInitiateMultipartUploads", omMetrics));
assertEquals(initialNumKeyAllocateFails + 1,
getLongCounter("NumKeyAllocateFails", omMetrics));
assertEquals(initialNumKeyLookupFails + 1,
getLongCounter("NumKeyLookupFails", omMetrics));
assertEquals(initialNumKeyDeleteFails + 1,
getLongCounter("NumKeyDeleteFails", omMetrics));
assertEquals(initialNumKeyListFails + 1, getLongCounter("NumKeyListFails",
omMetrics));
- assertEquals(initialNumTrashKeyListFails + 1,
getLongCounter("NumTrashKeyListFails", omMetrics));
assertEquals(initialNumInitiateMultipartUploadFails + 1, getLongCounter(
"NumInitiateMultipartUploadFails", omMetrics));
assertEquals(initialNumKeys + 2, getLongCounter("NumKeys", omMetrics));
@@ -843,12 +836,6 @@ public class TestOmMetrics {
} catch (IOException ignored) {
}
- try {
- ozoneManager.listTrash(keyArgs.getVolumeName(),
- keyArgs.getBucketName(), null, null, 0);
- } catch (IOException ignored) {
- }
-
try {
writeClient.deleteKey(keyArgs);
} catch (IOException ignored) {
diff --git
a/hadoop-ozone/interface-client/src/main/proto/OmClientProtocol.proto
b/hadoop-ozone/interface-client/src/main/proto/OmClientProtocol.proto
index 9e0f729be4..eeddc55005 100644
--- a/hadoop-ozone/interface-client/src/main/proto/OmClientProtocol.proto
+++ b/hadoop-ozone/interface-client/src/main/proto/OmClientProtocol.proto
@@ -97,8 +97,9 @@ enum Type {
ListMultipartUploads = 82;
- ListTrash = 91;
- RecoverTrash = 92;
+ // Not used anymore due to HDDS-11251
+ ListTrash = 91; // [deprecated = true]
+ RecoverTrash = 92; // [deprecated = true]
RevokeS3Secret = 93;
@@ -233,8 +234,9 @@ message OMRequest {
optional UpdateGetS3SecretRequest updateGetS3SecretRequest =
82;
optional ListMultipartUploadsRequest listMultipartUploadsRequest =
83;
- optional ListTrashRequest listTrashRequest =
91;
- optional RecoverTrashRequest RecoverTrashRequest =
92;
+ // Not used anymore due to HDDS-11251
+ optional ListTrashRequest listTrashRequest =
91 [deprecated = true];
+ optional RecoverTrashRequest RecoverTrashRequest =
92 [deprecated = true];
optional RevokeS3SecretRequest RevokeS3SecretRequest =
93;
@@ -362,8 +364,10 @@ message OMResponse {
optional ListMultipartUploadsResponse listMultipartUploadsResponse = 82;
- optional ListTrashResponse listTrashResponse =
91;
- optional RecoverTrashResponse RecoverTrashResponse =
92;
+ // Not used anymore due to HDDS-11251
+ optional ListTrashResponse listTrashResponse =
91 [deprecated = true];
+ optional RecoverTrashResponse RecoverTrashResponse =
92 [deprecated = true];
+
optional PurgePathsResponse purgePathsResponse =
93 [deprecated = true];
optional PurgeDirectoriesResponse purgeDirectoriesResponse =
108;
@@ -548,33 +552,39 @@ enum Status {
/**
This command acts as a list command for deleted keys that are still present
in the deleted table on Ozone Manager.
+ Not used anymore due to HDDS-11251
*/
message ListTrashRequest {
- required string volumeName = 1;
- required string bucketName = 2;
- optional string startKeyName = 3;
- optional string keyPrefix = 4;
- optional int32 maxKeys = 5;
+ // option deprecated = true;
+ required string volumeName = 1 [deprecated = true];
+ required string bucketName = 2 [deprecated = true];
+ optional string startKeyName = 3 [deprecated = true];
+ optional string keyPrefix = 4 [deprecated = true];
+ optional int32 maxKeys = 5 [deprecated = true];
}
message ListTrashResponse {
- repeated RepeatedKeyInfo deletedKeys = 1;
+ // option deprecated = true;
+ repeated RepeatedKeyInfo deletedKeys = 1 [deprecated = true];
}
/**
This command acts as a recover command for deleted keys that are still
in deleted table on Ozone Manager.
+ Not used anymore due to HDDS-11251
*/
message RecoverTrashRequest {
- required string volumeName = 1;
- required string bucketName = 2;
- required string keyName = 3;
- required string destinationBucket = 4;
+ // option deprecated = true;
+ required string volumeName = 1 [deprecated = true];
+ required string bucketName = 2 [deprecated = true];
+ required string keyName = 3 [deprecated = true];
+ required string destinationBucket = 4 [deprecated = true];
}
message RecoverTrashResponse {
- required bool response = 1;
+ // option deprecated = true;
+ required bool response = 1 [deprecated = true];
}
message VolumeInfo {
diff --git
a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java
index fb34d19a8b..cf0819ca52 100644
---
a/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java
+++
b/hadoop-ozone/interface-storage/src/main/java/org/apache/hadoop/ozone/om/OMMetadataManager.java
@@ -262,24 +262,6 @@ public interface OMMetadataManager extends
DBStoreHAManager {
int maxKeys)
throws IOException;
- /**
- * List trash allows the user to list the keys that were marked as deleted,
- * but not actually deleted by Ozone Manager. This allows a user to recover
- * keys within a configurable window.
- * @param volumeName - The volume name, which can also be a wild card
- * using '*'.
- * @param bucketName - The bucket name, which can also be a wild card
- * using '*'.
- * @param startKeyName - List keys from a specific key name.
- * @param keyPrefix - List keys using a specific prefix.
- * @param maxKeys - The number of keys to be returned. This must be below
- * the cluster level set by admins.
- * @return The list of keys that are deleted from the deleted table.
- * @throws IOException
- */
- List<RepeatedOmKeyInfo> listTrash(String volumeName, String bucketName,
- String startKeyName, String keyPrefix, int maxKeys) throws IOException;
-
/**
* Returns snapshot info for volume/bucket snapshot path.
* @param volumeName volume name
@@ -304,18 +286,6 @@ public interface OMMetadataManager extends
DBStoreHAManager {
String volumeName, String bucketName, String snapshotPrefix,
String prevSnapshot, int maxListResult) throws IOException;
- /**
- * Recover trash allows the user to recover the keys
- * that were marked as deleted, but not actually deleted by Ozone Manager.
- * @param volumeName - The volume name.
- * @param bucketName - The bucket name.
- * @param keyName - The key user want to recover.
- * @param destinationBucket - The bucket user want to recover to.
- * @return The result of recovering operation is success or not.
- */
- boolean recoverTrash(String volumeName, String bucketName,
- String keyName, String destinationBucket) throws IOException;
-
/**
* Returns a list of volumes owned by a given user; if user is null, returns
* all volumes.
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManager.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManager.java
index 7a3312c068..b7fa5d746f 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManager.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManager.java
@@ -28,7 +28,6 @@ import
org.apache.hadoop.ozone.om.helpers.OmMultipartUploadList;
import org.apache.hadoop.ozone.om.helpers.OmMultipartUploadListParts;
import org.apache.hadoop.ozone.om.fs.OzoneManagerFS;
import org.apache.hadoop.hdds.utils.BackgroundService;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.service.KeyDeletingService;
import org.apache.hadoop.ozone.om.service.SnapshotDeletingService;
import org.apache.hadoop.ozone.om.service.SnapshotDirectoryCleaningService;
@@ -107,24 +106,6 @@ public interface KeyManager extends OzoneManagerFS,
IOzoneAcl {
String keyPrefix, int maxKeys)
throws IOException;
- /**
- * List trash allows the user to list the keys that were marked as deleted,
- * but not actually deleted by Ozone Manager. This allows a user to recover
- * keys within a configurable window.
- * @param volumeName - The volume name, which can also be a wild card
- * using '*'.
- * @param bucketName - The bucket name, which can also be a wild card
- * using '*'.
- * @param startKeyName - List keys from a specific key name.
- * @param keyPrefix - List keys using a specific prefix.
- * @param maxKeys - The number of keys to be returned. This must be below
- * the cluster level set by admins.
- * @return The list of keys that are deleted from the deleted table.
- * @throws IOException
- */
- List<RepeatedOmKeyInfo> listTrash(String volumeName, String bucketName,
- String startKeyName, String keyPrefix, int maxKeys) throws IOException;
-
/**
* Returns a PendingKeysDeletion. It has a list of pending deletion key info
* that ups to the given count.Each entry is a {@link BlockGroup}, which
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 2cb5513529..6d276d9528 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
@@ -85,7 +85,6 @@ import org.apache.hadoop.ozone.om.helpers.OmPartInfo;
import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil;
import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.BucketLayout;
import org.apache.hadoop.ozone.om.request.OMClientRequest;
import org.apache.hadoop.ozone.om.request.file.OMFileRequest;
@@ -122,8 +121,6 @@ import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_BLOCK_DELETING_SERVI
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_BLOCK_DELETING_SERVICE_INTERVAL_DEFAULT;
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_BLOCK_DELETING_SERVICE_TIMEOUT;
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_BLOCK_DELETING_SERVICE_TIMEOUT_DEFAULT;
-import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_CLIENT_LIST_TRASH_KEYS_MAX;
-import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_CLIENT_LIST_TRASH_KEYS_MAX_DEFAULT;
import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_SCM_BLOCK_SIZE;
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_SCM_BLOCK_SIZE_DEFAULT;
import static
org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_SNAPSHOT_DELETING_SERVICE_INTERVAL;
@@ -182,7 +179,6 @@ public class KeyManagerImpl implements KeyManager {
private final ScmClient scmClient;
private final OMMetadataManager metadataManager;
private final long scmBlockSize;
- private final int listTrashKeysMax;
private final OzoneBlockTokenSecretManager secretManager;
private final boolean grpcBlockTokenEnabled;
@@ -218,9 +214,6 @@ public class KeyManagerImpl implements KeyManager {
this.grpcBlockTokenEnabled = conf.getBoolean(
HDDS_BLOCK_TOKEN_ENABLED,
HDDS_BLOCK_TOKEN_ENABLED_DEFAULT);
- this.listTrashKeysMax = conf.getInt(
- OZONE_CLIENT_LIST_TRASH_KEYS_MAX,
- OZONE_CLIENT_LIST_TRASH_KEYS_MAX_DEFAULT);
this.enableFileSystemPaths =
conf.getBoolean(OMConfigKeys.OZONE_OM_ENABLE_FILESYSTEM_PATHS,
OMConfigKeys.OZONE_OM_ENABLE_FILESYSTEM_PATHS_DEFAULT);
@@ -660,21 +653,6 @@ public class KeyManagerImpl implements KeyManager {
return listKeysResult;
}
- @Override
- public List<RepeatedOmKeyInfo> listTrash(String volumeName,
- String bucketName, String startKeyName, String keyPrefix,
- int maxKeys) throws IOException {
-
- Preconditions.checkNotNull(volumeName);
- Preconditions.checkNotNull(bucketName);
- Preconditions.checkArgument(maxKeys <= listTrashKeysMax,
- "The max keys limit specified is not less than the cluster " +
- "allowed maximum limit.");
-
- return metadataManager.listTrash(volumeName, bucketName,
- startKeyName, keyPrefix, maxKeys);
- }
-
@Override
public PendingKeysDeletion getPendingDeletionKeys(final int count)
throws IOException {
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
index 1c0ec78cfb..cbe5205c10 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMMetrics.java
@@ -61,7 +61,6 @@ public class OMMetrics implements OmMetadataReaderMetrics {
private @Metric MutableCounterLong numKeyDeletes;
private @Metric MutableCounterLong numBucketLists;
private @Metric MutableCounterLong numKeyLists;
- private @Metric MutableCounterLong numTrashKeyLists;
private @Metric MutableCounterLong numVolumeLists;
private @Metric MutableCounterLong numKeyCommits;
private @Metric MutableCounterLong numKeyHSyncs;
@@ -120,7 +119,6 @@ public class OMMetrics implements OmMetadataReaderMetrics {
private @Metric MutableCounterLong numKeyDeleteFails;
private @Metric MutableCounterLong numBucketListFails;
private @Metric MutableCounterLong numKeyListFails;
- private @Metric MutableCounterLong numTrashKeyListFails;
private @Metric MutableCounterLong numVolumeListFails;
private @Metric MutableCounterLong numKeyCommitFails;
private @Metric MutableCounterLong numBlockAllocationFails;
@@ -420,11 +418,6 @@ public class OMMetrics implements OmMetadataReaderMetrics {
numKeyLists.incr();
}
- public void incNumTrashKeyLists() {
- numKeyOps.incr();
- numTrashKeyLists.incr();
- }
-
public void incNumVolumeLists() {
numVolumeOps.incr();
numVolumeLists.incr();
@@ -836,10 +829,6 @@ public class OMMetrics implements OmMetadataReaderMetrics {
numKeyListFails.incr();
}
- public void incNumTrashKeyListFails() {
- numTrashKeyListFails.incr();
- }
-
public void incNumVolumeListFails() {
numVolumeListFails.incr();
}
@@ -994,11 +983,6 @@ public class OMMetrics implements OmMetadataReaderMetrics {
return numKeyLists.value();
}
- @VisibleForTesting
- public long getNumTrashKeyLists() {
- return numTrashKeyLists.value();
- }
-
@VisibleForTesting
public long getNumGetServiceLists() {
return numGetServiceLists.value();
@@ -1099,11 +1083,6 @@ public class OMMetrics implements
OmMetadataReaderMetrics {
return numKeyListFails.value();
}
- @VisibleForTesting
- public long getNumTrashKeyListFails() {
- return numTrashKeyListFails.value();
- }
-
@VisibleForTesting
public long getNumFSOps() {
return numFSOps.value();
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
index 22d2b1e50b..ee92dbc2fd 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
@@ -1385,15 +1385,6 @@ public class OmMetadataManagerImpl implements
OMMetadataManager,
return new ListKeysResult(result, isTruncated);
}
- // TODO: HDDS-2419 - Complete stub below for core logic
- @Override
- public List<RepeatedOmKeyInfo> listTrash(String volumeName, String
bucketName,
- String startKeyName, String keyPrefix, int maxKeys) throws IOException {
-
- List<RepeatedOmKeyInfo> deletedKeys = new ArrayList<>();
- return deletedKeys;
- }
-
@Override
public SnapshotInfo getSnapshotInfo(String volumeName, String bucketName,
String snapshotName) throws IOException {
@@ -1470,18 +1461,6 @@ public class OmMetadataManagerImpl implements
OMMetadataManager,
return new ListSnapshotResponse(snapshotInfos, lastSnapshot);
}
- @Override
- public boolean recoverTrash(String volumeName, String bucketName,
- String keyName, String destinationBucket) throws IOException {
-
- /* TODO: HDDS-2425 and HDDS-2426
- core logic stub would be added in later patch.
- */
-
- boolean recoverOperation = true;
- return recoverOperation;
- }
-
/**
* @param userName volume owner, null for listing all volumes.
*/
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
index a514262cae..2fb15ec3d6 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManager.java
@@ -172,7 +172,6 @@ import
org.apache.hadoop.ozone.om.helpers.OmMultipartUploadListParts;
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3VolumeContext;
import org.apache.hadoop.ozone.om.helpers.ServiceInfo;
import org.apache.hadoop.ozone.om.helpers.ServiceInfoEx;
@@ -2969,39 +2968,6 @@ public final class OzoneManager extends
ServiceRuntimeInfoImpl
return new ListKeysLightResult(basicKeysList,
listKeysResult.isTruncated());
}
- @Override
- public List<RepeatedOmKeyInfo> listTrash(String volumeName,
- String bucketName, String startKeyName, String keyPrefix, int maxKeys)
- throws IOException {
- boolean auditSuccess = true;
- Map<String, String> auditMap = buildAuditMap(volumeName);
- auditMap.put(OzoneConsts.BUCKET, bucketName);
- auditMap.put(OzoneConsts.START_KEY, startKeyName);
- auditMap.put(OzoneConsts.KEY_PREFIX, keyPrefix);
- auditMap.put(OzoneConsts.MAX_KEYS, String.valueOf(maxKeys));
- try {
- if (isAclEnabled) {
- omMetadataReader.checkAcls(ResourceType.BUCKET,
- StoreType.OZONE, ACLType.LIST,
- volumeName, bucketName, keyPrefix);
- }
- metrics.incNumTrashKeyLists();
- return keyManager.listTrash(volumeName, bucketName,
- startKeyName, keyPrefix, maxKeys);
- } catch (IOException ex) {
- metrics.incNumTrashKeyListFails();
- auditSuccess = false;
- AUDIT.logReadFailure(buildAuditMessageForFailure(OMAction.LIST_TRASH,
- auditMap, ex));
- throw ex;
- } finally {
- if (auditSuccess) {
- AUDIT.logReadSuccess(buildAuditMessageForSuccess(OMAction.LIST_TRASH,
- auditMap));
- }
- }
- }
-
@Override
public SnapshotInfo getSnapshotInfo(String volumeName, String bucketName,
String snapshotName) throws IOException {
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
index a5e94689ae..f6bd7cca13 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/protocolPB/OzoneManagerRequestHandler.java
@@ -63,7 +63,6 @@ import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.ServiceInfo;
import org.apache.hadoop.ozone.om.helpers.ServiceInfoEx;
import org.apache.hadoop.ozone.om.helpers.SnapshotDiffJob;
@@ -113,8 +112,6 @@ import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKey
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListKeysLightResponse;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTenantRequest;
import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTenantResponse;
-import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTrashRequest;
-import
org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.ListTrashResponse;
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.LookupKeyRequest;
@@ -238,11 +235,6 @@ public class OzoneManagerRequestHandler implements
RequestHandler {
request.getListKeysRequest());
responseBuilder.setListKeysLightResponse(listKeysLightResponse);
break;
- case ListTrash:
- ListTrashResponse listTrashResponse = listTrash(
- request.getListTrashRequest(), request.getVersion());
- responseBuilder.setListTrashResponse(listTrashResponse);
- break;
case ListMultiPartUploadParts:
MultipartUploadListPartsResponse listPartsResponse =
listParts(request.getListMultipartUploadPartsRequest());
@@ -835,26 +827,6 @@ public class OzoneManagerRequestHandler implements
RequestHandler {
return resp;
}
- private ListTrashResponse listTrash(ListTrashRequest request,
- int clientVersion) throws IOException {
-
- ListTrashResponse.Builder resp =
- ListTrashResponse.newBuilder();
-
- List<RepeatedOmKeyInfo> deletedKeys = impl.listTrash(
- request.getVolumeName(),
- request.getBucketName(),
- request.getStartKeyName(),
- request.getKeyPrefix(),
- request.getMaxKeys());
-
- for (RepeatedOmKeyInfo key: deletedKeys) {
- resp.addDeletedKeys(key.getProto(false, clientVersion));
- }
-
- return resp.build();
- }
-
@RequestFeatureValidator(
conditions = ValidationCondition.OLDER_CLIENT_REQUESTS,
processingPhase = RequestProcessingPhase.POST_PROCESS,
diff --git
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestTrashService.java
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestTrashService.java
deleted file mode 100644
index 4f0c15f15e..0000000000
---
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestTrashService.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.hadoop.ozone.om;
-
-
-import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.apache.hadoop.hdds.client.StandaloneReplicationConfig;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
-import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
-import org.apache.hadoop.hdds.server.ServerUtils;
-import org.apache.hadoop.hdds.utils.db.DBConfigFromFile;
-import org.apache.hadoop.ozone.om.helpers.OmBucketInfo;
-import org.apache.hadoop.ozone.om.helpers.OmKeyArgs;
-import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
-import org.apache.hadoop.ozone.om.helpers.OpenKeySession;
-import org.apache.hadoop.ozone.om.protocol.OzoneManagerProtocol;
-import org.apache.hadoop.ozone.om.request.OMRequestTestUtils;
-import org.apache.hadoop.security.UserGroupInformation;
-import org.apache.ratis.util.ExitUtils;
-import org.junit.jupiter.api.AfterEach;
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import org.junit.jupiter.api.io.TempDir;
-
-import java.io.File;
-import java.io.IOException;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.Collections;
-
-/**
- * Test Key Trash Service.
- * <p>
- * This test does the things including:
- * 1. UTs for list trash.
- * 2. UTs for recover trash.
- * 3. UTs for empty trash.
- * <p>
- */
-public class TestTrashService {
-
- @TempDir
- private Path tempFolder;
-
- private KeyManager keyManager;
- private OzoneManagerProtocol writeClient;
- private OzoneManager om;
- private String volumeName;
- private String bucketName;
-
- @BeforeEach
- void setup() throws Exception {
- ExitUtils.disableSystemExit();
- OzoneConfiguration configuration = new OzoneConfiguration();
-
- File folder = tempFolder.toFile();
- if (!folder.exists()) {
- assertTrue(folder.mkdirs());
- }
- System.setProperty(DBConfigFromFile.CONFIG_DIR, "/");
- ServerUtils.setOzoneMetaDirPath(configuration, folder.toString());
-
- OmTestManagers omTestManagers
- = new OmTestManagers(configuration);
- keyManager = omTestManagers.getKeyManager();
- writeClient = omTestManagers.getWriteClient();
- om = omTestManagers.getOzoneManager();
- volumeName = "volume";
- bucketName = "bucket";
- }
-
- @AfterEach
- public void cleanup() throws Exception {
- om.stop();
- }
-
- @Test
- public void testRecoverTrash() throws IOException {
- String keyName = "testKey";
- String destinationBucket = "destBucket";
- createAndDeleteKey(keyName);
-
- boolean recoverOperation = keyManager.getMetadataManager()
- .recoverTrash(volumeName, bucketName, keyName, destinationBucket);
- assertTrue(recoverOperation);
- }
-
- private void createAndDeleteKey(String keyName) throws IOException {
-
- OMRequestTestUtils.addVolumeToOM(keyManager.getMetadataManager(),
- OmVolumeArgs.newBuilder()
- .setOwnerName("owner")
- .setAdminName("admin")
- .setVolume(volumeName)
- .build());
-
- OMRequestTestUtils.addBucketToOM(keyManager.getMetadataManager(),
- OmBucketInfo.newBuilder()
- .setVolumeName(volumeName)
- .setBucketName(bucketName)
- .build());
-
- OmKeyArgs keyArgs = new OmKeyArgs.Builder()
- .setVolumeName(volumeName)
- .setBucketName(bucketName)
- .setKeyName(keyName)
- .setAcls(Collections.emptyList())
- .setLocationInfoList(new ArrayList<>())
- .setReplicationConfig(StandaloneReplicationConfig
- .getInstance(HddsProtos.ReplicationFactor.ONE))
- .setOwnerName(UserGroupInformation.getCurrentUser().getShortUserName())
- .build();
-
- /* Create and delete key in the Key Manager. */
- OpenKeySession session = writeClient.openKey(keyArgs);
- writeClient.commitKey(keyArgs, session.getId());
- writeClient.deleteKey(keyArgs);
- }
-
-}
diff --git
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/client/ClientProtocolStub.java
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/client/ClientProtocolStub.java
index 41876c6e24..e3e3537b1c 100644
---
a/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/client/ClientProtocolStub.java
+++
b/hadoop-ozone/s3gateway/src/test/java/org/apache/hadoop/ozone/client/ClientProtocolStub.java
@@ -43,7 +43,6 @@ import
org.apache.hadoop.ozone.om.helpers.OmMultipartUploadCompleteInfo;
import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatus;
import org.apache.hadoop.ozone.om.helpers.OzoneFileStatusLight;
-import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo;
import org.apache.hadoop.ozone.om.helpers.S3SecretValue;
import org.apache.hadoop.ozone.om.helpers.S3VolumeContext;
import org.apache.hadoop.ozone.om.helpers.TenantStateList;
@@ -301,21 +300,6 @@ public class ClientProtocolStub implements ClientProtocol {
return null;
}
- @Override
- public List<RepeatedOmKeyInfo> listTrash(String volumeName, String
bucketName,
- String startKeyName,
- String keyPrefix, int maxKeys)
- throws IOException {
- return null;
- }
-
- @Override
- public boolean recoverTrash(String volumeName, String bucketName,
- String keyName, String destinationBucket)
- throws IOException {
- return false;
- }
-
@Override
public OzoneKeyDetails getKeyDetails(String volumeName, String bucketName,
String keyName) throws IOException {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]