From 0cd7b03c1971101e91d7335c9697b2959cde0201 Mon Sep 17 00:00:00 2001 From: Ivan Andika Date: Thu, 30 Apr 2026 18:24:48 +0800 Subject: [PATCH 1/6] HDDS-13365. Avoid CleanupTableInfo reflection for cache cleanup --- .../utils/db/TableCacheUpdateTracker.java | 59 +++++++++++++++ .../hadoop/hdds/utils/db/TypedTable.java | 1 + .../om/ratis/OzoneManagerDoubleBuffer.java | 25 +------ .../ozone/om/request/OMClientRequest.java | 13 +++- .../ozone/om/response/CleanupTableInfo.java | 51 ------------- .../om/response/DummyOMClientResponse.java | 1 - .../ozone/om/response/OMClientResponse.java | 18 ++++- .../bucket/OMBucketCreateResponse.java | 5 -- .../bucket/OMBucketDeleteResponse.java | 5 -- .../bucket/OMBucketSetOwnerResponse.java | 4 - .../bucket/OMBucketSetPropertyResponse.java | 4 - .../bucket/acl/OMBucketAclResponse.java | 4 - .../file/OMDirectoryCreateResponse.java | 4 - .../OMDirectoryCreateResponseWithFSO.java | 4 - .../response/file/OMFileCreateResponse.java | 5 -- .../file/OMFileCreateResponseWithFSO.java | 7 -- .../response/file/OMRecoverLeaseResponse.java | 5 -- .../response/key/OMAllocateBlockResponse.java | 5 -- .../key/OMAllocateBlockResponseWithFSO.java | 5 -- .../OMDirectoriesPurgeResponseWithFSO.java | 8 -- .../om/response/key/OMKeyCommitResponse.java | 8 -- .../key/OMKeyCommitResponseWithFSO.java | 8 -- .../om/response/key/OMKeyCreateResponse.java | 6 -- .../key/OMKeyCreateResponseWithFSO.java | 7 -- .../om/response/key/OMKeyDeleteResponse.java | 7 -- .../key/OMKeyDeleteResponseWithFSO.java | 10 --- .../om/response/key/OMKeyPurgeResponse.java | 4 - .../om/response/key/OMKeyRenameResponse.java | 5 -- .../key/OMKeyRenameResponseWithFSO.java | 7 -- .../response/key/OMKeySetTimesResponse.java | 4 - .../key/OMKeySetTimesResponseWithFSO.java | 5 -- .../om/response/key/OMKeysDeleteResponse.java | 6 -- .../key/OMKeysDeleteResponseWithFSO.java | 10 --- .../om/response/key/OMKeysRenameResponse.java | 4 - .../key/OMOpenKeysDeleteResponse.java | 8 -- .../om/response/key/acl/OMKeyAclResponse.java | 4 - .../key/acl/OMKeyAclResponseWithFSO.java | 5 -- .../key/acl/prefix/OMPrefixAclResponse.java | 4 - ...3ExpiredMultipartUploadsAbortResponse.java | 9 --- .../S3InitiateMultipartUploadResponse.java | 5 -- ...nitiateMultipartUploadResponseWithFSO.java | 7 -- .../S3MultipartUploadAbortResponse.java | 8 -- ...S3MultipartUploadAbortResponseWithFSO.java | 8 -- .../S3MultipartUploadCommitPartResponse.java | 7 -- ...tipartUploadCommitPartResponseWithFSO.java | 8 -- .../S3MultipartUploadCompleteResponse.java | 9 --- ...ultipartUploadCompleteResponseWithFSO.java | 9 --- .../s3/security/OMSetSecretResponse.java | 4 - .../s3/security/S3GetSecretResponse.java | 4 - .../s3/security/S3RevokeSecretResponse.java | 4 - .../S3DeleteObjectTaggingResponse.java | 4 - .../S3DeleteObjectTaggingResponseWithFSO.java | 4 - .../tagging/S3PutObjectTaggingResponse.java | 4 - .../S3PutObjectTaggingResponseWithFSO.java | 4 - .../OMSetRangerServiceVersionResponse.java | 4 - .../tenant/OMTenantAssignAdminResponse.java | 6 -- .../OMTenantAssignUserAccessIdResponse.java | 10 --- .../s3/tenant/OMTenantCreateResponse.java | 8 -- .../s3/tenant/OMTenantDeleteResponse.java | 8 -- .../tenant/OMTenantRevokeAdminResponse.java | 6 -- .../OMTenantRevokeUserAccessIdResponse.java | 10 --- .../OMCancelDelegationTokenResponse.java | 4 - .../OMGetDelegationTokenResponse.java | 4 - .../OMRenewDelegationTokenResponse.java | 4 - .../snapshot/OMSnapshotCreateResponse.java | 7 -- .../snapshot/OMSnapshotDeleteResponse.java | 4 - .../OMSnapshotMoveDeletedKeysResponse.java | 3 - .../OMSnapshotMoveTableKeysResponse.java | 3 - .../snapshot/OMSnapshotPurgeResponse.java | 4 - .../snapshot/OMSnapshotRenameResponse.java | 4 - .../OMSnapshotSetPropertyResponse.java | 4 - .../upgrade/OMCancelPrepareResponse.java | 4 - .../upgrade/OMFinalizeUpgradeResponse.java | 3 - .../response/upgrade/OMPrepareResponse.java | 3 - .../response/util/OMEchoRPCWriteResponse.java | 2 - .../volume/OMQuotaRepairResponse.java | 5 -- .../volume/OMVolumeAclOpResponse.java | 4 - .../volume/OMVolumeCreateResponse.java | 4 - .../volume/OMVolumeDeleteResponse.java | 4 - .../volume/OMVolumeSetOwnerResponse.java | 4 - .../volume/OMVolumeSetQuotaResponse.java | 4 - .../OzoneManagerRequestHandler.java | 4 + ...eManagerDoubleBufferWithDummyResponse.java | 5 +- ...pTableInfo.java => TestCleanupTables.java} | 73 ++----------------- 84 files changed, 106 insertions(+), 549 deletions(-) create mode 100644 hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java delete mode 100644 hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/CleanupTableInfo.java rename hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/{TestCleanupTableInfo.java => TestCleanupTables.java} (80%) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java new file mode 100644 index 000000000000..6fd254916bb9 --- /dev/null +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java @@ -0,0 +1,59 @@ +/* + * 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.hdds.utils.db; + +import java.util.Collections; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Tracks table caches updated by the current thread. + */ +public final class TableCacheUpdateTracker { + + private static final ThreadLocal> UPDATED_TABLES = + new ThreadLocal<>(); + private static final Set TRACKING = Collections.emptySet(); + + private TableCacheUpdateTracker() { + } + + public static void startTracking() { + UPDATED_TABLES.set(TRACKING); + } + + public static Set stopTracking() { + Set tables = UPDATED_TABLES.get(); + UPDATED_TABLES.remove(); + if (tables == null || tables == TRACKING || tables.isEmpty()) { + return Collections.emptySet(); + } + return Collections.unmodifiableSet(new LinkedHashSet<>(tables)); + } + + public static void recordCacheUpdate(String tableName) { + Set tables = UPDATED_TABLES.get(); + if (tables != null && tableName != null && !tableName.isEmpty()) { + if (tables == TRACKING) { + tables = new LinkedHashSet<>(); + UPDATED_TABLES.set(tables); + } + tables.add(tableName); + } + } +} diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TypedTable.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TypedTable.java index 59e924529ce4..47f06551c6b1 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TypedTable.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TypedTable.java @@ -430,6 +430,7 @@ public long getEstimatedKeyCount() throws RocksDatabaseException { public void addCacheEntry(CacheKey cacheKey, CacheValue cacheValue) { // This will override the entry if there is already entry for this key. + TableCacheUpdateTracker.recordCacheUpdate(getName()); cache.put(cacheKey, cacheValue); } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java index 1f77f6f5b495..c7a6e8827cf8 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/ratis/OzoneManagerDoubleBuffer.java @@ -22,7 +22,6 @@ import com.google.common.annotations.VisibleForTesting; import java.io.IOException; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; @@ -44,7 +43,6 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.S3SecretManager; import org.apache.hadoop.ozone.om.codec.OMDBDefinition; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -473,26 +471,9 @@ private static boolean isStandaloneBatchCmdTypes(OMResponse response) { } private void addCleanupEntry(Entry entry, Map> cleanupEpochs) { - Class responseClass = - entry.getResponse().getClass(); - CleanupTableInfo cleanupTableInfo = - responseClass.getAnnotation(CleanupTableInfo.class); - if (cleanupTableInfo != null) { - final List cleanupTables; - if (cleanupTableInfo.cleanupAll()) { - cleanupTables = OMDBDefinition.get().getColumnFamilyNames(); - } else { - cleanupTables = Arrays.asList(cleanupTableInfo.cleanupTables()); - } - for (String table : cleanupTables) { - cleanupEpochs.computeIfAbsent(table, list -> new ArrayList<>()) - .add(entry.getTermIndex().getIndex()); - } - } else { - // This is to catch early errors, when a new response class missed to - // add CleanupTableInfo annotation. - throw new RuntimeException("CleanupTableInfo Annotation is missing " + - "for" + responseClass); + for (String table : entry.getResponse().getCleanupTables()) { + cleanupEpochs.computeIfAbsent(table, list -> new ArrayList<>()) + .add(entry.getTermIndex().getIndex()); } } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java index 884c5fa310bc..3fce68d16021 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java @@ -27,8 +27,10 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; +import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.hdds.utils.TransactionInfo; +import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker; import org.apache.hadoop.ipc_.ProtobufRpcEngine; import org.apache.hadoop.ozone.OmUtils; import org.apache.hadoop.ozone.OzoneConsts; @@ -149,7 +151,16 @@ public void handleRequestFailure(OzoneManager ozoneManager) { public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, long transactionLogIndex) { ExecutionContext context = ExecutionContext.of(transactionLogIndex, TransactionInfo.getTermIndex(transactionLogIndex)); - return validateAndUpdateCache(ozoneManager, context); + TableCacheUpdateTracker.startTracking(); + try { + OMClientResponse response = validateAndUpdateCache(ozoneManager, context); + Set cleanupTables = TableCacheUpdateTracker.stopTracking(); + response.setCleanupTables(cleanupTables); + return response; + } catch (RuntimeException | Error e) { + TableCacheUpdateTracker.stopTracking(); + throw e; + } } @VisibleForTesting diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/CleanupTableInfo.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/CleanupTableInfo.java deleted file mode 100644 index c8f4a7a58ea9..000000000000 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/CleanupTableInfo.java +++ /dev/null @@ -1,51 +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.response; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Inherited; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import org.apache.hadoop.hdds.annotation.InterfaceStability; - -/** - * Annotation to provide information about clean up table information for - * {@link OMClientResponse}. - */ -@Retention(RetentionPolicy.RUNTIME) -@Target(ElementType.TYPE) -@Inherited -@InterfaceStability.Evolving -public @interface CleanupTableInfo { - - /** - * Array of tables affected by this operation. This information will be used - * during cleanup table cache. - * @return list of table names. - */ - String[] cleanupTables() default {}; - - /** - * If all tables are affected, like at update finalization, one can specify - * cleanupAll=true, instead of the list of all tables. In this case the - * cleanupTable property has to be defined as an empty array (the default). - * @return whether to cleanup all tables. - */ - boolean cleanupAll() default false; -} diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/DummyOMClientResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/DummyOMClientResponse.java index a53c3adfc45f..5bf2d48f09ad 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/DummyOMClientResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/DummyOMClientResponse.java @@ -26,7 +26,6 @@ /** * A dummy OMClientResponse implementation. */ -@CleanupTableInfo public class DummyOMClientResponse extends OMClientResponse { public DummyOMClientResponse(@Nonnull OMResponse omResponse) { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java index ffe3f70099c2..b4f666d823bf 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java @@ -19,7 +19,11 @@ import com.google.common.base.Preconditions; import java.io.IOException; +import java.util.Collection; +import java.util.Collections; +import java.util.LinkedHashSet; import java.util.Objects; +import java.util.Set; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; @@ -34,6 +38,7 @@ public abstract class OMClientResponse { private final OMResponse omResponse; private OMLockDetails omLockDetails; + private Set cleanupTables = Collections.emptySet(); public OMClientResponse(OMResponse omResponse) { Objects.requireNonNull(omResponse, "omResponse == null"); @@ -86,5 +91,16 @@ public void setOmLockDetails( OMLockDetails omLockDetails) { this.omLockDetails = omLockDetails; } -} + public Set getCleanupTables() { + return cleanupTables; + } + + public void setCleanupTables(Collection tables) { + if (tables == null || tables.isEmpty()) { + cleanupTables = Collections.emptySet(); + return; + } + cleanupTables = Collections.unmodifiableSet(new LinkedHashSet<>(tables)); + } +} diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketCreateResponse.java index 2bb5034d0706..d3bcbffc205b 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketCreateResponse.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.bucket; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; @@ -27,14 +24,12 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for CreateBucket request. */ -@CleanupTableInfo(cleanupTables = {BUCKET_TABLE, VOLUME_TABLE}) public final class OMBucketCreateResponse extends OMClientResponse { private final OmBucketInfo omBucketInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketDeleteResponse.java index e72ebf75a32c..5d2f1e8de78f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketDeleteResponse.java @@ -17,22 +17,17 @@ package org.apache.hadoop.ozone.om.response.bucket; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for DeleteBucket request. */ -@CleanupTableInfo(cleanupTables = {BUCKET_TABLE, VOLUME_TABLE}) public final class OMBucketDeleteResponse extends OMClientResponse { private String volumeName; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetOwnerResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetOwnerResponse.java index 74c2a8bbb29f..3ca03d873040 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetOwnerResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetOwnerResponse.java @@ -17,14 +17,11 @@ package org.apache.hadoop.ozone.om.response.bucket; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -32,7 +29,6 @@ /** * Response for set owner request. */ -@CleanupTableInfo(cleanupTables = {BUCKET_TABLE}) public class OMBucketSetOwnerResponse extends OMClientResponse { private OmBucketInfo omBucketInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetPropertyResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetPropertyResponse.java index 141ceb1c7465..52a9678e4933 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetPropertyResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/OMBucketSetPropertyResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.bucket; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for SetBucketProperty request. */ -@CleanupTableInfo(cleanupTables = {BUCKET_TABLE}) public class OMBucketSetPropertyResponse extends OMClientResponse { private OmBucketInfo omBucketInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/acl/OMBucketAclResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/acl/OMBucketAclResponse.java index ce6a435a137e..b18ef1003656 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/acl/OMBucketAclResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/bucket/acl/OMBucketAclResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.bucket.acl; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for Bucket acl request. */ -@CleanupTableInfo(cleanupTables = {BUCKET_TABLE}) public class OMBucketAclResponse extends OMClientResponse { private final OmBucketInfo omBucketInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponse.java index f6e3a9d5de2f..b2547c1db215 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponse.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.file; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -28,7 +26,6 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMDirectoryCreateRequest.Result; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.slf4j.Logger; @@ -37,7 +34,6 @@ /** * Response for create directory request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE}) public class OMDirectoryCreateResponse extends OmKeyResponse { private static final Logger LOG = diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java index c6015f3891de..b49b5799d93f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.file; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -28,7 +26,6 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo; import org.apache.hadoop.ozone.om.request.file.OMDirectoryCreateRequest.Result; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.slf4j.Logger; @@ -37,7 +34,6 @@ /** * Response for create directory request. */ -@CleanupTableInfo(cleanupTables = {DIRECTORY_TABLE}) public class OMDirectoryCreateResponseWithFSO extends OmKeyResponse { private static final Logger LOG = diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponse.java index 428e90075b36..3d5223055fa7 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponse.java @@ -17,22 +17,17 @@ package org.apache.hadoop.ozone.om.response.file; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.util.List; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OMKeyCreateResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for crate file request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE, OPEN_KEY_TABLE}) public class OMFileCreateResponse extends OMKeyCreateResponse { public OMFileCreateResponse(@Nonnull OMResponse omResponse, diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java index 02c72110ad4d..e0dcbc37d4d9 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMFileCreateResponseWithFSO.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.file; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.ArrayList; @@ -32,14 +28,11 @@ import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for create file request - prefix layout. */ -@CleanupTableInfo(cleanupTables = {DIRECTORY_TABLE, OPEN_FILE_TABLE, - BUCKET_TABLE}) public class OMFileCreateResponseWithFSO extends OMFileCreateResponse { private List parentDirInfos; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMRecoverLeaseResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMRecoverLeaseResponse.java index 4d66697d6918..20316f7473de 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMRecoverLeaseResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMRecoverLeaseResponse.java @@ -17,23 +17,18 @@ package org.apache.hadoop.ozone.om.response.file; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Performs tasks for RecoverLease request responses. */ -@CleanupTableInfo(cleanupTables = {FILE_TABLE, OPEN_FILE_TABLE}) public class OMRecoverLeaseResponse extends OmKeyResponse { private OmKeyInfo openKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java index eb8d7bd50591..e3ffe7334e9d 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponse.java @@ -17,22 +17,17 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for AllocateBlock request. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, BUCKET_TABLE}) public class OMAllocateBlockResponse extends OmKeyResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java index 2d174a172c61..3b8d30691ee0 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMAllocateBlockResponseWithFSO.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -27,13 +24,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for AllocateBlock request - prefix layout. */ -@CleanupTableInfo(cleanupTables = {OPEN_FILE_TABLE, BUCKET_TABLE}) public class OMAllocateBlockResponseWithFSO extends OMAllocateBlockResponse { private long volumeId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMDirectoriesPurgeResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMDirectoriesPurgeResponseWithFSO.java index 127ec4ed2cbf..57e69cb3ea57 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMDirectoriesPurgeResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMDirectoriesPurgeResponseWithFSO.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_DIR_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; import static org.apache.hadoop.ozone.om.lock.DAGLeveledResource.SNAPSHOT_DB_CONTENT_LOCK; import com.google.common.annotations.VisibleForTesting; @@ -47,7 +42,6 @@ import org.apache.hadoop.ozone.om.lock.IOzoneManagerLock; import org.apache.hadoop.ozone.om.lock.OMLockDetails; import org.apache.hadoop.ozone.om.request.key.OMDirectoriesPurgeRequestWithFSO; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.ratis.util.function.UncheckedAutoCloseableSupplier; @@ -57,8 +51,6 @@ /** * Response for {@link OMDirectoriesPurgeRequestWithFSO} request. */ -@CleanupTableInfo(cleanupTables = {DELETED_TABLE, DELETED_DIR_TABLE, - DIRECTORY_TABLE, FILE_TABLE, SNAPSHOT_INFO_TABLE}) public class OMDirectoriesPurgeResponseWithFSO extends OmKeyResponse { private static final Logger LOG = LoggerFactory.getLogger(OMDirectoriesPurgeResponseWithFSO.class); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java index 425c4f63ac5e..f40c81d5ea0a 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponse.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; @@ -32,14 +27,11 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for CommitKey request. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, KEY_TABLE, DELETED_TABLE, - BUCKET_TABLE}) public class OMKeyCommitResponse extends OmKeyResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java index b210a8ce5d49..585ede59e32f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCommitResponseWithFSO.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.Map; @@ -32,14 +27,11 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for CommitKey request - prefix layout1. */ -@CleanupTableInfo(cleanupTables = {OPEN_FILE_TABLE, FILE_TABLE, DELETED_TABLE, - BUCKET_TABLE}) public class OMKeyCommitResponseWithFSO extends OMKeyCommitResponse { private long volumeId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java index 1bd03c4187be..0f20fc5f586e 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponse.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -29,7 +25,6 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -37,7 +32,6 @@ /** * Response for CreateKey request. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, KEY_TABLE, BUCKET_TABLE}) public class OMKeyCreateResponse extends OmKeyResponse { protected static final Logger LOG = diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponseWithFSO.java index a72ad370b940..19f33e3d4090 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyCreateResponseWithFSO.java @@ -17,25 +17,18 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.util.List; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.file.OMFileCreateResponseWithFSO; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for CreateKey request - prefix layout. */ -@CleanupTableInfo(cleanupTables = {DIRECTORY_TABLE, OPEN_FILE_TABLE, - BUCKET_TABLE}) public class OMKeyCreateResponseWithFSO extends OMFileCreateResponseWithFSO { public OMKeyCreateResponseWithFSO(@Nonnull OMResponse omResponse, diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponse.java index be646c4ee289..b8ffc1aaf783 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponse.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -31,13 +26,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for DeleteKey request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE, OPEN_KEY_TABLE, DELETED_TABLE, BUCKET_TABLE}) public class OMKeyDeleteResponse extends AbstractOMKeyDeleteResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java index 1b84bf51cb83..bfae0b6a687d 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyDeleteResponseWithFSO.java @@ -17,13 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_DIR_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -33,14 +26,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for DeleteKey request. */ -@CleanupTableInfo(cleanupTables = {FILE_TABLE, OPEN_FILE_TABLE, DIRECTORY_TABLE, - DELETED_TABLE, DELETED_DIR_TABLE, BUCKET_TABLE}) public class OMKeyDeleteResponseWithFSO extends OMKeyDeleteResponse { private boolean isDeleteDirectory; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyPurgeResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyPurgeResponse.java index 608f58cf7555..23e39770a164 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyPurgeResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyPurgeResponse.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; import static org.apache.hadoop.ozone.om.lock.DAGLeveledResource.SNAPSHOT_DB_CONTENT_LOCK; import static org.apache.hadoop.ozone.om.response.snapshot.OMSnapshotMoveDeletedKeysResponse.createRepeatedOmKeyInfo; @@ -40,7 +38,6 @@ import org.apache.hadoop.ozone.om.lock.IOzoneManagerLock; import org.apache.hadoop.ozone.om.lock.OMLockDetails; import org.apache.hadoop.ozone.om.request.key.OMKeyPurgeRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.SnapshotMoveKeyInfos; @@ -49,7 +46,6 @@ /** * Response for {@link OMKeyPurgeRequest} request. */ -@CleanupTableInfo(cleanupTables = {DELETED_TABLE, SNAPSHOT_INFO_TABLE}) public class OMKeyPurgeResponse extends OmKeyResponse { private List bucketInfosToBeUpdated; private List purgeKeyList; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponse.java index 894a80328752..16c51afcad72 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponse.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_RENAMED_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -27,13 +24,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.OMClientRequestUtils; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for RenameKey request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE, SNAPSHOT_RENAMED_TABLE}) public class OMKeyRenameResponse extends OmKeyResponse { private String fromKeyName; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java index e9f2a32776e5..ed86afd0226f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeyRenameResponseWithFSO.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_RENAMED_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -31,14 +27,11 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.OMClientRequestUtils; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for RenameKey request - prefix layout. */ -@CleanupTableInfo(cleanupTables = {FILE_TABLE, DIRECTORY_TABLE, - SNAPSHOT_RENAMED_TABLE}) public class OMKeyRenameResponseWithFSO extends OMKeyRenameResponse { private boolean isRenameDirectory; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponse.java index 0dea40ef2aad..9b7cb66435d7 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for Bucket acl request. */ -@CleanupTableInfo(cleanupTables = KEY_TABLE) public class OMKeySetTimesResponse extends OmKeyResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponseWithFSO.java index 2fa41cc22419..921dcc394df8 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeySetTimesResponseWithFSO.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -28,13 +25,11 @@ import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; /** * Response for Bucket acl request for prefix layout. */ -@CleanupTableInfo(cleanupTables = { FILE_TABLE, DIRECTORY_TABLE }) public class OMKeySetTimesResponseWithFSO extends OMKeySetTimesResponse { private boolean isDirectory; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponse.java index 3cb1220b83ce..fb4836bc96b8 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponse.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; import static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.OK; import static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.PARTIAL_DELETE; @@ -35,13 +31,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for DeleteKey request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE, OPEN_KEY_TABLE, DELETED_TABLE, BUCKET_TABLE}) public class OMKeysDeleteResponse extends AbstractOMKeyDeleteResponse { private List omKeyInfoList; private OmBucketInfo omBucketInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponseWithFSO.java index 0b283509354e..01c87c1272b9 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysDeleteResponseWithFSO.java @@ -17,13 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_DIR_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -34,14 +27,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; /** * Response for DeleteKeys request. */ -@CleanupTableInfo(cleanupTables = { FILE_TABLE, OPEN_FILE_TABLE, DIRECTORY_TABLE, - DELETED_DIR_TABLE, DELETED_TABLE, BUCKET_TABLE }) public class OMKeysDeleteResponseWithFSO extends OMKeysDeleteResponse { private List dirsList; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysRenameResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysRenameResponse.java index 270e1788e853..ddc7971f5ced 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysRenameResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMKeysRenameResponse.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_RENAMED_TABLE; import static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.OK; import static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.PARTIAL_RENAME; @@ -30,14 +28,12 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmRenameKeys; import org.apache.hadoop.ozone.om.request.OMClientRequestUtils; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for RenameKeys request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE, SNAPSHOT_RENAMED_TABLE}) public class OMKeysRenameResponse extends OMClientResponse { private OmRenameKeys omRenameKeys; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java index e46bd7db64ff..e507159894ed 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/OMOpenKeysDeleteResponse.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.key; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.Map; @@ -31,15 +26,12 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Handles responses to move open keys from the open key table to the delete * table. Modifies the open key table and delete table databases. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, OPEN_FILE_TABLE, - DELETED_TABLE, BUCKET_TABLE}) public class OMOpenKeysDeleteResponse extends AbstractOMKeyDeleteResponse { private Map> keysToDelete; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponse.java index 35da09822ec4..d1c6d05bfec9 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponse.java @@ -17,22 +17,18 @@ package org.apache.hadoop.ozone.om.response.key.acl; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for Bucket acl request. */ -@CleanupTableInfo(cleanupTables = KEY_TABLE) public class OMKeyAclResponse extends OmKeyResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponseWithFSO.java index 164e1546c381..6035fb868465 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/OMKeyAclResponseWithFSO.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.key.acl; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -28,13 +25,11 @@ import org.apache.hadoop.ozone.om.helpers.OmDirectoryInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; /** * Response for Bucket acl request for prefix layout. */ -@CleanupTableInfo(cleanupTables = { FILE_TABLE, DIRECTORY_TABLE }) public class OMKeyAclResponseWithFSO extends OMKeyAclResponse { private boolean isDirectory; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/prefix/OMPrefixAclResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/prefix/OMPrefixAclResponse.java index 3853250d8ff0..9d00e31160d3 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/prefix/OMPrefixAclResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/key/acl/prefix/OMPrefixAclResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.key.acl.prefix; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.PREFIX_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmPrefixInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for Prefix Acl request. */ -@CleanupTableInfo(cleanupTables = {PREFIX_TABLE}) public class OMPrefixAclResponse extends OMClientResponse { private OmPrefixInfo prefixInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3ExpiredMultipartUploadsAbortResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3ExpiredMultipartUploadsAbortResponse.java index 89919fc44042..30e456d16cbe 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3ExpiredMultipartUploadsAbortResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3ExpiredMultipartUploadsAbortResponse.java @@ -17,12 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -32,14 +26,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartAbortInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Handles response to abort expired MPUs. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, OPEN_FILE_TABLE, - DELETED_TABLE, MULTIPART_INFO_TABLE, BUCKET_TABLE}) public class S3ExpiredMultipartUploadsAbortResponse extends AbstractS3MultipartAbortResponse { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java index 0123ab11a949..2afeea41ad67 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponse.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; @@ -28,14 +25,12 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for S3 Initiate Multipart Upload request. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, MULTIPART_INFO_TABLE}) public class S3InitiateMultipartUploadResponse extends OmKeyResponse { private OmMultipartKeyInfo omMultipartKeyInfo; private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponseWithFSO.java index c53720634931..2b7762172d35 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3InitiateMultipartUploadResponseWithFSO.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -32,14 +28,11 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for S3 Initiate Multipart Upload request for prefix layout. */ -@CleanupTableInfo(cleanupTables = {DIRECTORY_TABLE, OPEN_FILE_TABLE, - MULTIPART_INFO_TABLE}) public class S3InitiateMultipartUploadResponseWithFSO extends S3InitiateMultipartUploadResponse { private List parentDirInfos; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java index 371d24e31b2b..b143d043426b 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponse.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; @@ -29,14 +24,11 @@ import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for Multipart Abort Request. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, DELETED_TABLE, - MULTIPART_INFO_TABLE, BUCKET_TABLE}) public class S3MultipartUploadAbortResponse extends AbstractS3MultipartAbortResponse { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java index 93d3c45289d2..29afec95f604 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadAbortResponseWithFSO.java @@ -17,23 +17,15 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for Multipart Abort Request - prefix layout. */ -@CleanupTableInfo(cleanupTables = {OPEN_FILE_TABLE, DELETED_TABLE, - MULTIPART_INFO_TABLE, BUCKET_TABLE}) public class S3MultipartUploadAbortResponseWithFSO extends S3MultipartUploadAbortResponse { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java index 0351b4f71bd5..1d0f1fc85e53 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponse.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; import static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.NO_SUCH_MULTIPART_UPLOAD_ERROR; import static org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status.OK; @@ -37,15 +33,12 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for S3MultipartUploadCommitPart request. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, DELETED_TABLE, - MULTIPART_INFO_TABLE, BUCKET_TABLE}) public class S3MultipartUploadCommitPartResponse extends OmKeyResponse { private final String multipartKey; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java index 51722825f938..93ab92138c74 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCommitPartResponseWithFSO.java @@ -17,11 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.util.Map; @@ -30,14 +25,11 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for S3MultipartUploadCommitPartWithFSO request. */ -@CleanupTableInfo(cleanupTables = {OPEN_FILE_TABLE, DELETED_TABLE, - MULTIPART_INFO_TABLE, BUCKET_TABLE}) public class S3MultipartUploadCommitPartResponseWithFSO extends S3MultipartUploadCommitPartResponse { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java index b46aebf7d34f..4c7800e9a85f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponse.java @@ -17,12 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_KEY_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; @@ -33,7 +27,6 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -45,8 +38,6 @@ * 2) Add key to KeyTable, * 3) Delete unused parts. */ -@CleanupTableInfo(cleanupTables = {OPEN_KEY_TABLE, KEY_TABLE, DELETED_TABLE, - MULTIPART_INFO_TABLE, BUCKET_TABLE}) public class S3MultipartUploadCompleteResponse extends OmKeyResponse { private String multipartKey; private String multipartOpenKey; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponseWithFSO.java index 2147a039a531..d4abaa9bb451 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/multipart/S3MultipartUploadCompleteResponseWithFSO.java @@ -17,12 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.multipart; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DIRECTORY_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.MULTIPART_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.OPEN_FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.List; @@ -34,7 +28,6 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.OmMultipartKeyInfo; import org.apache.hadoop.ozone.om.request.file.OMFileRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** @@ -45,8 +38,6 @@ * 2) Add file to FileTable, * 3) Delete unused parts. */ -@CleanupTableInfo(cleanupTables = {OPEN_FILE_TABLE, FILE_TABLE, DELETED_TABLE, - MULTIPART_INFO_TABLE, DIRECTORY_TABLE}) public class S3MultipartUploadCompleteResponseWithFSO extends S3MultipartUploadCompleteResponse { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/OMSetSecretResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/OMSetSecretResponse.java index c35e06d001dc..89fd94890ebe 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/OMSetSecretResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/OMSetSecretResponse.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.security; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.S3_SECRET_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; @@ -26,7 +24,6 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.S3SecretManager; import org.apache.hadoop.ozone.om.helpers.S3SecretValue; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -36,7 +33,6 @@ /** * Response for SetSecret request. */ -@CleanupTableInfo(cleanupTables = {S3_SECRET_TABLE}) public class OMSetSecretResponse extends OMClientResponse { private static final Logger LOG = diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3GetSecretResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3GetSecretResponse.java index 7013ed7711fc..911908b63f8d 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3GetSecretResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3GetSecretResponse.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.security; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.S3_SECRET_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; @@ -27,7 +25,6 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.S3SecretManager; import org.apache.hadoop.ozone.om.helpers.S3SecretValue; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -35,7 +32,6 @@ /** * Response for GetS3Secret request. */ -@CleanupTableInfo(cleanupTables = {S3_SECRET_TABLE}) public class S3GetSecretResponse extends OMClientResponse { private final S3SecretValue s3SecretValue; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3RevokeSecretResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3RevokeSecretResponse.java index 5306cccc68a5..27c541b733e8 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3RevokeSecretResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/security/S3RevokeSecretResponse.java @@ -17,15 +17,12 @@ package org.apache.hadoop.ozone.om.response.s3.security; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.S3_SECRET_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.S3SecretManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; @@ -33,7 +30,6 @@ /** * Response for RevokeS3Secret request. */ -@CleanupTableInfo(cleanupTables = {S3_SECRET_TABLE}) public class S3RevokeSecretResponse extends OMClientResponse { private final String kerberosID; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponse.java index ae3c99819729..b76790750d19 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponse.java @@ -17,22 +17,18 @@ package org.apache.hadoop.ozone.om.response.s3.tagging; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for delete object tagging request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE}) public class S3DeleteObjectTaggingResponse extends OmKeyResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponseWithFSO.java index b5133d63ebe4..38ba7b8fc0f5 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3DeleteObjectTaggingResponseWithFSO.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.s3.tagging; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for delete object tagging request for FSO bucket. */ -@CleanupTableInfo(cleanupTables = {FILE_TABLE}) public class S3DeleteObjectTaggingResponseWithFSO extends S3DeleteObjectTaggingResponse { private long volumeId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponse.java index 4fdd0c4902fe..49514f25a35a 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponse.java @@ -17,22 +17,18 @@ package org.apache.hadoop.ozone.om.response.s3.tagging; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.KEY_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.key.OmKeyResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for put object tagging request. */ -@CleanupTableInfo(cleanupTables = {KEY_TABLE}) public class S3PutObjectTaggingResponse extends OmKeyResponse { private OmKeyInfo omKeyInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponseWithFSO.java index 157baad1a956..642a03ff4923 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tagging/S3PutObjectTaggingResponseWithFSO.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.s3.tagging; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.FILE_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.BucketLayout; import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for put object tagging request for FSO bucket. */ -@CleanupTableInfo(cleanupTables = {FILE_TABLE}) public class S3PutObjectTaggingResponseWithFSO extends S3PutObjectTaggingResponse { private long volumeId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMSetRangerServiceVersionResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMSetRangerServiceVersionResponse.java index a02cc27461d5..faa7b1cff956 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMSetRangerServiceVersionResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMSetRangerServiceVersionResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.META_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for OMSetRangerServiceVersionRequest. */ -@CleanupTableInfo(cleanupTables = {META_TABLE}) public class OMSetRangerServiceVersionResponse extends OMClientResponse { private String serviceVersionKey; private String serviceVersionValueStr; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignAdminResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignAdminResponse.java index fae19b604dd6..739899a95c46 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignAdminResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignAdminResponse.java @@ -17,24 +17,18 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TENANT_ACCESS_ID_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmDBAccessIdInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for OMTenantAssignAdminRequest. */ -@CleanupTableInfo(cleanupTables = { - TENANT_ACCESS_ID_TABLE -}) public class OMTenantAssignAdminResponse extends OMClientResponse { private String accessId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignUserAccessIdResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignUserAccessIdResponse.java index 81fca7b15de5..60d89971eb87 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignUserAccessIdResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantAssignUserAccessIdResponse.java @@ -17,10 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.PRINCIPAL_TO_ACCESS_IDS_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.S3_SECRET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TENANT_ACCESS_ID_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; @@ -30,7 +26,6 @@ import org.apache.hadoop.ozone.om.helpers.OmDBAccessIdInfo; import org.apache.hadoop.ozone.om.helpers.OmDBUserPrincipalInfo; import org.apache.hadoop.ozone.om.helpers.S3SecretValue; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -38,11 +33,6 @@ /** * Response for OMAssignUserToTenantRequest. */ -@CleanupTableInfo(cleanupTables = { - S3_SECRET_TABLE, - TENANT_ACCESS_ID_TABLE, - PRINCIPAL_TO_ACCESS_IDS_TABLE -}) public class OMTenantAssignUserAccessIdResponse extends OMClientResponse { private S3SecretValue s3SecretValue; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantCreateResponse.java index 0ffced2b932d..c9ef4ec51e76 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantCreateResponse.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TENANT_STATE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; @@ -27,7 +24,6 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmDBTenantState; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo; @@ -35,10 +31,6 @@ /** * Response for OMTenantCreate request. */ -@CleanupTableInfo(cleanupTables = { - TENANT_STATE_TABLE, - VOLUME_TABLE -}) public class OMTenantCreateResponse extends OMClientResponse { private PersistedUserVolumeInfo userVolumeInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantDeleteResponse.java index c7302f628a35..e14e7c79b93d 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantDeleteResponse.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TENANT_STATE_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import com.google.common.base.Preconditions; import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; @@ -28,17 +25,12 @@ import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for DeleteTenant request. */ -@CleanupTableInfo(cleanupTables = { - TENANT_STATE_TABLE, - VOLUME_TABLE -}) public class OMTenantDeleteResponse extends OMClientResponse { private String volumeName; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeAdminResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeAdminResponse.java index 2dfa15adfe9c..c517b0dc3d0f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeAdminResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeAdminResponse.java @@ -17,24 +17,18 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TENANT_ACCESS_ID_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmDBAccessIdInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for OMTenantAssignAdminRequest. */ -@CleanupTableInfo(cleanupTables = { - TENANT_ACCESS_ID_TABLE -}) public class OMTenantRevokeAdminResponse extends OMClientResponse { private String accessId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeUserAccessIdResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeUserAccessIdResponse.java index 1266f5de03ed..818b335c523a 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeUserAccessIdResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/s3/tenant/OMTenantRevokeUserAccessIdResponse.java @@ -17,17 +17,12 @@ package org.apache.hadoop.ozone.om.response.s3.tenant; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.PRINCIPAL_TO_ACCESS_IDS_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.S3_SECRET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TENANT_ACCESS_ID_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.S3SecretManager; import org.apache.hadoop.ozone.om.helpers.OmDBUserPrincipalInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -35,11 +30,6 @@ /** * Response for OMTenantRevokeUserAccessIdRequest. */ -@CleanupTableInfo(cleanupTables = { - S3_SECRET_TABLE, - TENANT_ACCESS_ID_TABLE, - PRINCIPAL_TO_ACCESS_IDS_TABLE -}) public class OMTenantRevokeUserAccessIdResponse extends OMClientResponse { private String principal, accessId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMCancelDelegationTokenResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMCancelDelegationTokenResponse.java index b798b9b315b5..c51839ff01bd 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMCancelDelegationTokenResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMCancelDelegationTokenResponse.java @@ -17,15 +17,12 @@ package org.apache.hadoop.ozone.om.response.security; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELEGATION_TOKEN_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.hdds.utils.db.Table; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -34,7 +31,6 @@ /** * Handle response for CancelDelegationToken request. */ -@CleanupTableInfo(cleanupTables = {DELEGATION_TOKEN_TABLE}) public class OMCancelDelegationTokenResponse extends OMClientResponse { private OzoneTokenIdentifier ozoneTokenIdentifier; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMGetDelegationTokenResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMGetDelegationTokenResponse.java index 77907241a4fc..adbc32d34c42 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMGetDelegationTokenResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMGetDelegationTokenResponse.java @@ -17,15 +17,12 @@ package org.apache.hadoop.ozone.om.response.security; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELEGATION_TOKEN_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.hdds.utils.db.Table; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -34,7 +31,6 @@ /** * Handle response for GetDelegationToken request. */ -@CleanupTableInfo(cleanupTables = {DELEGATION_TOKEN_TABLE}) public class OMGetDelegationTokenResponse extends OMClientResponse { private OzoneTokenIdentifier ozoneTokenIdentifier; private long renewTime = -1L; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMRenewDelegationTokenResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMRenewDelegationTokenResponse.java index f47f2f1aea37..186d22c14a86 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMRenewDelegationTokenResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/security/OMRenewDelegationTokenResponse.java @@ -17,15 +17,12 @@ package org.apache.hadoop.ozone.om.response.security; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELEGATION_TOKEN_TABLE; - import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.hdds.utils.db.Table; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -34,7 +31,6 @@ /** * Handle response for RenewDelegationToken request. */ -@CleanupTableInfo(cleanupTables = {DELEGATION_TOKEN_TABLE}) public class OMRenewDelegationTokenResponse extends OMClientResponse { private OzoneTokenIdentifier ozoneTokenIdentifier; private long renewTime = -1L; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java index db107f0772f4..8995087df84b 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java @@ -17,25 +17,18 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_RENAMED_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OmSnapshotManager; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for OMSnapshotCreateRequest. */ -@CleanupTableInfo(cleanupTables = { - DELETED_TABLE, SNAPSHOT_RENAMED_TABLE, SNAPSHOT_INFO_TABLE}) public class OMSnapshotCreateResponse extends OMClientResponse { private SnapshotInfo snapshotInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotDeleteResponse.java index 508ad53cba03..80c016d4702d 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotDeleteResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for OMSnapshotDeleteRequest. */ -@CleanupTableInfo(cleanupTables = {SNAPSHOT_INFO_TABLE}) public class OMSnapshotDeleteResponse extends OMClientResponse { private String tableKey; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveDeletedKeysResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveDeletedKeysResponse.java index f5558dcfbf9d..0651a8e98731 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveDeletedKeysResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveDeletedKeysResponse.java @@ -17,7 +17,6 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.createMergedRepeatedOmKeyInfoFromDeletedTableEntry; import jakarta.annotation.Nonnull; @@ -34,7 +33,6 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyInfo; import org.apache.hadoop.ozone.om.helpers.RepeatedOmKeyInfo; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyInfo; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -44,7 +42,6 @@ /** * Response for OMSnapshotMoveDeletedKeysRequest. */ -@CleanupTableInfo(cleanupTables = {SNAPSHOT_INFO_TABLE}) public class OMSnapshotMoveDeletedKeysResponse extends OMClientResponse { private SnapshotInfo fromSnapshot; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveTableKeysResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveTableKeysResponse.java index c9ed469d6caa..a91f4d66d558 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveTableKeysResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotMoveTableKeysResponse.java @@ -17,7 +17,6 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; import static org.apache.hadoop.ozone.om.lock.DAGLeveledResource.SNAPSHOT_DB_CONTENT_LOCK; import static org.apache.hadoop.ozone.om.snapshot.SnapshotUtils.createMergedRepeatedOmKeyInfoFromDeletedTableEntry; @@ -38,7 +37,6 @@ import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; import org.apache.hadoop.ozone.om.lock.IOzoneManagerLock; import org.apache.hadoop.ozone.om.lock.OMLockDetails; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.SnapshotMoveKeyInfos; @@ -47,7 +45,6 @@ /** * Response for OMSnapshotMoveDeletedKeysRequest. */ -@CleanupTableInfo(cleanupTables = {SNAPSHOT_INFO_TABLE}) public class OMSnapshotMoveTableKeysResponse extends OMClientResponse { private long bucketId; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java index 852a7a637234..11760328e3f6 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java @@ -17,8 +17,6 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; @@ -30,7 +28,6 @@ import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.OmSnapshotManager; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.om.snapshot.OmSnapshotLocalDataManager; import org.apache.hadoop.ozone.om.snapshot.OmSnapshotLocalDataManager.WritableOmSnapshotLocalDataProvider; @@ -41,7 +38,6 @@ /** * Response for OMSnapshotPurgeRequest. */ -@CleanupTableInfo(cleanupTables = {SNAPSHOT_INFO_TABLE}) public class OMSnapshotPurgeResponse extends OMClientResponse { private static final Logger LOG = LoggerFactory.getLogger(OMSnapshotPurgeResponse.class); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotRenameResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotRenameResponse.java index cfc107cfec4d..4b0660271a19 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotRenameResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotRenameResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; /** * Response for OMSnapshotRenameRequest. */ -@CleanupTableInfo(cleanupTables = {SNAPSHOT_INFO_TABLE}) public class OMSnapshotRenameResponse extends OMClientResponse { private String snapshotOldName; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotSetPropertyResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotSetPropertyResponse.java index 5d0f8d642b49..e15323e0cf75 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotSetPropertyResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotSetPropertyResponse.java @@ -17,22 +17,18 @@ package org.apache.hadoop.ozone.om.response.snapshot; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.Collection; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.SnapshotInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for OMSnapshotSetPropertyRequest. */ -@CleanupTableInfo(cleanupTables = {SNAPSHOT_INFO_TABLE}) public class OMSnapshotSetPropertyResponse extends OMClientResponse { private final Collection updatedSnapInfos; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMCancelPrepareResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMCancelPrepareResponse.java index 8e150d696bd6..2f014106d417 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMCancelPrepareResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMCancelPrepareResponse.java @@ -17,19 +17,15 @@ package org.apache.hadoop.ozone.om.response.upgrade; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TRANSACTION_INFO_TABLE; - import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; /** * Response for cancel prepare. */ -@CleanupTableInfo(cleanupTables = {TRANSACTION_INFO_TABLE}) public class OMCancelPrepareResponse extends OMClientResponse { public OMCancelPrepareResponse( OzoneManagerProtocolProtos.OMResponse omResponse) { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMFinalizeUpgradeResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMFinalizeUpgradeResponse.java index 49bb6fc86587..ea68fa902be9 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMFinalizeUpgradeResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMFinalizeUpgradeResponse.java @@ -18,12 +18,10 @@ package org.apache.hadoop.ozone.om.response.upgrade; import static org.apache.hadoop.ozone.OzoneConsts.LAYOUT_VERSION_KEY; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.META_TABLE; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.slf4j.Logger; @@ -32,7 +30,6 @@ /** * Response for finalizeUpgrade request. */ -@CleanupTableInfo(cleanupTables = {META_TABLE}) public class OMFinalizeUpgradeResponse extends OMClientResponse { private static final Logger LOG = LoggerFactory.getLogger(OMFinalizeUpgradeResponse.class); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMPrepareResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMPrepareResponse.java index d9e8901554b0..e995e1e01cb0 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMPrepareResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/upgrade/OMPrepareResponse.java @@ -18,20 +18,17 @@ package org.apache.hadoop.ozone.om.response.upgrade; import static org.apache.hadoop.ozone.OzoneConsts.PREPARE_MARKER_KEY; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.TRANSACTION_INFO_TABLE; import java.io.IOException; import org.apache.hadoop.hdds.utils.TransactionInfo; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; /** * Response for prepare request. */ -@CleanupTableInfo(cleanupTables = {TRANSACTION_INFO_TABLE}) public class OMPrepareResponse extends OMClientResponse { private long prepareIndex = -1; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/util/OMEchoRPCWriteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/util/OMEchoRPCWriteResponse.java index 0fd7e6a31617..4c66b055149b 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/util/OMEchoRPCWriteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/util/OMEchoRPCWriteResponse.java @@ -20,14 +20,12 @@ import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for EchoRPC request (write). */ -@CleanupTableInfo public class OMEchoRPCWriteResponse extends OMClientResponse { public OMEchoRPCWriteResponse(OMResponse omResponse) { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMQuotaRepairResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMQuotaRepairResponse.java index 5907933a8f01..7f913c61d2d1 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMQuotaRepairResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMQuotaRepairResponse.java @@ -17,9 +17,6 @@ package org.apache.hadoop.ozone.om.response.volume; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.BUCKET_TABLE; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import java.util.Map; @@ -29,14 +26,12 @@ import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; import org.apache.hadoop.ozone.om.request.volume.OMQuotaRepairRequest; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for {@link OMQuotaRepairRequest} request. */ -@CleanupTableInfo(cleanupTables = {VOLUME_TABLE, BUCKET_TABLE}) public class OMQuotaRepairResponse extends OMClientResponse { private Map volumeArgsMap; private Map, OmBucketInfo> volBucketInfoMap; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java index dbe47c9e8775..a55ba45ce072 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeAclOpResponse.java @@ -17,22 +17,18 @@ package org.apache.hadoop.ozone.om.response.volume; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for om volume acl operation request. */ -@CleanupTableInfo(cleanupTables = {VOLUME_TABLE}) public class OMVolumeAclOpResponse extends OMClientResponse { private OmVolumeArgs omVolumeArgs; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeCreateResponse.java index 60b0029d777c..b3b7b91185b3 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeCreateResponse.java @@ -17,15 +17,12 @@ package org.apache.hadoop.ozone.om.response.volume; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import com.google.common.annotations.VisibleForTesting; import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo; @@ -33,7 +30,6 @@ /** * Response for CreateVolume request. */ -@CleanupTableInfo(cleanupTables = VOLUME_TABLE) public class OMVolumeCreateResponse extends OMClientResponse { private PersistedUserVolumeInfo userVolumeInfo; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeDeleteResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeDeleteResponse.java index cb731dd9a33a..46ae1f38784c 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeDeleteResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeDeleteResponse.java @@ -17,13 +17,10 @@ package org.apache.hadoop.ozone.om.response.volume; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; import org.apache.hadoop.ozone.storage.proto.OzoneManagerStorageProtos.PersistedUserVolumeInfo; @@ -31,7 +28,6 @@ /** * Response for DeleteVolume request. */ -@CleanupTableInfo(cleanupTables = {VOLUME_TABLE}) public class OMVolumeDeleteResponse extends OMClientResponse { private String volume; private String owner; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetOwnerResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetOwnerResponse.java index e9118e97b5ba..ea8ae2d7860a 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetOwnerResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetOwnerResponse.java @@ -17,14 +17,11 @@ package org.apache.hadoop.ozone.om.response.volume; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; @@ -33,7 +30,6 @@ /** * Response for set owner request. */ -@CleanupTableInfo(cleanupTables = {VOLUME_TABLE}) public class OMVolumeSetOwnerResponse extends OMClientResponse { private String oldOwner; private PersistedUserVolumeInfo oldOwnerVolumeList; diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetQuotaResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetQuotaResponse.java index d1e699024cf1..7ebe9fb4f2a6 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetQuotaResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/volume/OMVolumeSetQuotaResponse.java @@ -17,21 +17,17 @@ package org.apache.hadoop.ozone.om.response.volume; -import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.VOLUME_TABLE; - import jakarta.annotation.Nonnull; import java.io.IOException; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.helpers.OmVolumeArgs; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; /** * Response for set quota request. */ -@CleanupTableInfo(cleanupTables = {VOLUME_TABLE}) public class OMVolumeSetQuotaResponse extends OMClientResponse { private OmVolumeArgs omVolumeArgs; 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 4454b68e0784..34d489926e28 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 @@ -60,6 +60,7 @@ import org.apache.hadoop.hdds.protocol.proto.HddsProtos.UpgradeFinalizationStatus; import org.apache.hadoop.hdds.scm.protocolPB.OzonePBHelper; import org.apache.hadoop.hdds.utils.FaultInjector; +import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker; import org.apache.hadoop.ozone.OzoneAcl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.OzoneManagerPrepareState; @@ -420,13 +421,16 @@ public OMClientResponse handleWriteRequestImpl(OMRequest omRequest, ExecutionCon OMClientRequest omClientRequest = OzoneManagerRatisUtils.createClientRequest(omRequest, impl); try { + TableCacheUpdateTracker.startTracking(); OMClientResponse omClientResponse = captureLatencyNs( impl.getPerfMetrics().getValidateAndUpdateCacheLatencyNs(), () -> Objects.requireNonNull(omClientRequest.validateAndUpdateCache(getOzoneManager(), context), "omClientResponse returned by validateAndUpdateCache cannot be null")); + omClientResponse.setCleanupTables(TableCacheUpdateTracker.stopTracking()); OMAuditLogger.log(omClientRequest.getAuditBuilder(), context.getTermIndex()); return omClientResponse; } catch (Throwable th) { + TableCacheUpdateTracker.stopTracking(); OMAuditLogger.log(omClientRequest.getAuditBuilder(), omClientRequest, getOzoneManager(), context.getTermIndex(), th); throw th; diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java index 21af533b5459..0e942e8939fa 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/ratis/TestOzoneManagerDoubleBufferWithDummyResponse.java @@ -27,6 +27,7 @@ import java.io.IOException; import java.nio.file.Path; +import java.util.Collections; import java.util.UUID; import java.util.concurrent.atomic.AtomicLong; import org.apache.hadoop.hdds.conf.OzoneConfiguration; @@ -35,7 +36,6 @@ import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OmMetadataManagerImpl; import org.apache.hadoop.ozone.om.helpers.OmBucketInfo; -import org.apache.hadoop.ozone.om.response.CleanupTableInfo; import org.apache.hadoop.ozone.om.response.OMClientResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CreateBucketResponse; @@ -146,11 +146,9 @@ private OMDummyCreateBucketResponse createDummyBucketResponse( .build()); } - /** * DummyCreatedBucket Response class used in testing. */ - @CleanupTableInfo(cleanupTables = {BUCKET_TABLE}) private static class OMDummyCreateBucketResponse extends OMClientResponse { private final OmBucketInfo omBucketInfo; @@ -158,6 +156,7 @@ private static class OMDummyCreateBucketResponse extends OMClientResponse { OMResponse omResponse) { super(omResponse); this.omBucketInfo = omBucketInfo; + setCleanupTables(Collections.singleton(BUCKET_TABLE)); } @Override diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTableInfo.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTables.java similarity index 80% rename from hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTableInfo.java rename to hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTables.java index fd6e4206e0ba..86ee15c8d656 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTableInfo.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestCleanupTables.java @@ -18,11 +18,8 @@ package org.apache.hadoop.ozone.om.response; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.reset; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; @@ -31,11 +28,8 @@ import com.google.common.collect.Iterators; import java.io.File; import java.io.IOException; -import java.lang.reflect.Modifier; import java.nio.file.Path; -import java.util.Arrays; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Set; import java.util.UUID; @@ -60,9 +54,6 @@ import org.apache.hadoop.ozone.om.lock.OzoneLockProvider; import org.apache.hadoop.ozone.om.request.file.OMFileCreateRequest; import org.apache.hadoop.ozone.om.request.key.OMKeyCreateRequest; -import org.apache.hadoop.ozone.om.response.file.OMFileCreateResponse; -import org.apache.hadoop.ozone.om.response.key.OMKeyCreateResponse; -import org.apache.hadoop.ozone.om.response.util.OMEchoRPCWriteResponse; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CreateFileRequest; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.CreateKeyRequest; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.KeyArgs; @@ -75,23 +66,17 @@ import org.junit.jupiter.api.io.TempDir; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; -import org.reflections.Reflections; /** - * The test checks whether all {@link OMClientResponse} have defined the - * {@link CleanupTableInfo} annotation. - * For certain requests it check whether it is properly defined not just the - * fact that it is defined. + * Tests cleanup table tracking for cache eviction. */ @ExtendWith(MockitoExtension.class) -public class TestCleanupTableInfo { +public class TestCleanupTables { private static final String TEST_VOLUME_NAME = "testVol"; private static final String TEST_BUCKET_NAME = "testBucket"; private static final String TEST_KEY = "/foo/bar/baz/key"; private static final HddsProtos.BlockID TEST_BLOCK_ID = new BlockID(1, 1).getProtobuf(); - public static final String OM_RESPONSE_PACKAGE = - "org.apache.hadoop.ozone.om.response"; @TempDir private Path folder; @@ -129,55 +114,14 @@ public void setupOzoneManagerMock() addBucketToMetaTable(aBucketInfo()); } - @Test - public void checkAnnotationAndTableName() { - OMMetadataManager omMetadataManager = om.getMetadataManager(); - - Set tables = omMetadataManager.listTableNames(); - Set> subTypes = responseClasses(); - // OMEchoRPCWriteResponse does not need CleanupTable. - subTypes.remove(OMEchoRPCWriteResponse.class); - subTypes.remove(DummyOMClientResponse.class); - subTypes.forEach(aClass -> { - if (Modifier.isAbstract(aClass.getModifiers())) { - assertFalse(aClass.isAnnotationPresent(CleanupTableInfo.class), - aClass + " is an abstract class and should not contain CleanupTableInfo annotations"); - return; - } else { - assertTrue(aClass.isAnnotationPresent(CleanupTableInfo.class), - aClass + " does not have annotation of" + - " CleanupTableInfo"); - } - CleanupTableInfo annotation = - aClass.getAnnotation(CleanupTableInfo.class); - assertNotNull(annotation, "CleanupTableInfo is null for class " + aClass.getSimpleName()); - String[] cleanupTables = annotation.cleanupTables(); - boolean cleanupAll = annotation.cleanupAll(); - if (cleanupTables.length >= 1) { - assertTrue( - Arrays.stream(cleanupTables).allMatch(tables::contains) - ); - - } else { - assertTrue(cleanupAll); - } - }); - reset(om); - } - - private Set> responseClasses() { - Reflections reflections = new Reflections(OM_RESPONSE_PACKAGE); - return reflections.getSubTypesOf(OMClientResponse.class); - } - @Test public void testFileCreateRequestSetsAllTouchedTableCachesForEviction() { OMFileCreateRequest request = anOMFileCreateRequest(); Map cacheItemCount = recordCacheItemCounts(); - request.validateAndUpdateCache(om, 1); + OMClientResponse response = request.validateAndUpdateCache(om, 1); - assertCacheItemCounts(cacheItemCount, OMFileCreateResponse.class); + assertCacheItemCounts(cacheItemCount, response); verify(omMetrics, times(1)).incNumCreateFile(); } @@ -191,9 +135,9 @@ public void testKeyCreateRequestSetsAllTouchedTableCachesForEviction() { Map cacheItemCount = recordCacheItemCounts(); - request.validateAndUpdateCache(om, 1); + OMClientResponse response = request.validateAndUpdateCache(om, 1); - assertCacheItemCounts(cacheItemCount, OMKeyCreateResponse.class); + assertCacheItemCounts(cacheItemCount, response); verify(omMetrics, times(1)).incNumKeyAllocates(); } @@ -212,10 +156,9 @@ private Map recordCacheItemCounts() { private void assertCacheItemCounts( Map cacheItemCount, - Class responseClass + OMClientResponse response ) { - CleanupTableInfo ann = responseClass.getAnnotation(CleanupTableInfo.class); - List cleanup = Arrays.asList(ann.cleanupTables()); + Set cleanup = response.getCleanupTables(); for (String tableName : om.getMetadataManager().listTableNames()) { if (!cleanup.contains(tableName)) { assertEquals(cacheItemCount.get(tableName).intValue(), From 076c82d6030b4970fbfe666e7a994015d346f4de Mon Sep 17 00:00:00 2001 From: Ivan Andika Date: Thu, 30 Apr 2026 18:33:08 +0800 Subject: [PATCH 2/6] HDDS-13365. Scope table cache update tracking --- .../utils/db/TableCacheUpdateTracker.java | 61 ++++++++++++++----- .../utils/db/TestTableCacheUpdateTracker.java | 52 ++++++++++++++++ .../ozone/om/request/OMClientRequest.java | 11 +--- .../OzoneManagerRequestHandler.java | 7 +-- 4 files changed, 103 insertions(+), 28 deletions(-) create mode 100644 hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java index 6fd254916bb9..b3c59aafedd7 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java @@ -26,34 +26,63 @@ */ public final class TableCacheUpdateTracker { - private static final ThreadLocal> UPDATED_TABLES = + private static final ThreadLocal CURRENT_TRACKER = new ThreadLocal<>(); private static final Set TRACKING = Collections.emptySet(); private TableCacheUpdateTracker() { } - public static void startTracking() { - UPDATED_TABLES.set(TRACKING); + public static Tracker track() { + if (CURRENT_TRACKER.get() != null) { + throw new IllegalStateException("Table cache updates are already being tracked"); + } + Tracker tracker = new Tracker(); + CURRENT_TRACKER.set(tracker); + return tracker; } - public static Set stopTracking() { - Set tables = UPDATED_TABLES.get(); - UPDATED_TABLES.remove(); - if (tables == null || tables == TRACKING || tables.isEmpty()) { - return Collections.emptySet(); + public static void recordCacheUpdate(String tableName) { + Tracker tracker = CURRENT_TRACKER.get(); + if (tracker != null) { + tracker.recordCacheUpdate(tableName); } - return Collections.unmodifiableSet(new LinkedHashSet<>(tables)); } - public static void recordCacheUpdate(String tableName) { - Set tables = UPDATED_TABLES.get(); - if (tables != null && tableName != null && !tableName.isEmpty()) { - if (tables == TRACKING) { - tables = new LinkedHashSet<>(); - UPDATED_TABLES.set(tables); + /** + * Tracks updated tables until the scope is closed. + */ + public static final class Tracker implements AutoCloseable { + private Set tables = TRACKING; + private boolean closed; + + private Tracker() { + } + + public Set getUpdatedTables() { + if (tables == TRACKING || tables.isEmpty()) { + return Collections.emptySet(); + } + return Collections.unmodifiableSet(new LinkedHashSet<>(tables)); + } + + @Override + public void close() { + if (!closed) { + if (CURRENT_TRACKER.get() == this) { + CURRENT_TRACKER.remove(); + } + closed = true; + } + } + + private void recordCacheUpdate(String tableName) { + if (!closed && tableName != null && !tableName.isEmpty()) { + if (tables == TRACKING) { + tables = new LinkedHashSet<>(); + } + tables.add(tableName); } - tables.add(tableName); } } } diff --git a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java new file mode 100644 index 000000000000..ac4ff42bf898 --- /dev/null +++ b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java @@ -0,0 +1,52 @@ +/* + * 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.hdds.utils.db; + +import static org.assertj.core.api.Assertions.assertThat; + +import org.junit.jupiter.api.Test; + +/** + * Tests {@link TableCacheUpdateTracker}. + */ +public class TestTableCacheUpdateTracker { + + @Test + public void trackReturnsScopedTrackerWithUpdatedTables() { + try (TableCacheUpdateTracker.Tracker tracker = + TableCacheUpdateTracker.track()) { + TableCacheUpdateTracker.recordCacheUpdate("table1"); + TableCacheUpdateTracker.recordCacheUpdate("table2"); + + assertThat(tracker.getUpdatedTables()) + .containsExactly("table1", "table2"); + } + } + + @Test + public void closedTrackerStopsRecordingUpdates() { + TableCacheUpdateTracker.Tracker tracker = + TableCacheUpdateTracker.track(); + TableCacheUpdateTracker.recordCacheUpdate("table1"); + + tracker.close(); + TableCacheUpdateTracker.recordCacheUpdate("table2"); + + assertThat(tracker.getUpdatedTables()).containsExactly("table1"); + } +} diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java index 3fce68d16021..f3f8942d9585 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java @@ -27,10 +27,10 @@ import java.util.LinkedHashMap; import java.util.Map; import java.util.Objects; -import java.util.Set; import org.apache.commons.lang3.StringUtils; import org.apache.hadoop.hdds.utils.TransactionInfo; import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker; +import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker.Tracker; import org.apache.hadoop.ipc_.ProtobufRpcEngine; import org.apache.hadoop.ozone.OmUtils; import org.apache.hadoop.ozone.OzoneConsts; @@ -151,15 +151,10 @@ public void handleRequestFailure(OzoneManager ozoneManager) { public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, long transactionLogIndex) { ExecutionContext context = ExecutionContext.of(transactionLogIndex, TransactionInfo.getTermIndex(transactionLogIndex)); - TableCacheUpdateTracker.startTracking(); - try { + try (Tracker tracker = TableCacheUpdateTracker.track()) { OMClientResponse response = validateAndUpdateCache(ozoneManager, context); - Set cleanupTables = TableCacheUpdateTracker.stopTracking(); - response.setCleanupTables(cleanupTables); + response.setCleanupTables(tracker.getUpdatedTables()); return response; - } catch (RuntimeException | Error e) { - TableCacheUpdateTracker.stopTracking(); - throw e; } } 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 34d489926e28..830ab9a7dba4 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 @@ -61,6 +61,7 @@ import org.apache.hadoop.hdds.scm.protocolPB.OzonePBHelper; import org.apache.hadoop.hdds.utils.FaultInjector; import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker; +import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker.Tracker; import org.apache.hadoop.ozone.OzoneAcl; import org.apache.hadoop.ozone.om.OzoneManager; import org.apache.hadoop.ozone.om.OzoneManagerPrepareState; @@ -420,17 +421,15 @@ public OMClientResponse handleWriteRequestImpl(OMRequest omRequest, ExecutionCon injectPause(); OMClientRequest omClientRequest = OzoneManagerRatisUtils.createClientRequest(omRequest, impl); - try { - TableCacheUpdateTracker.startTracking(); + try (Tracker tracker = TableCacheUpdateTracker.track()) { OMClientResponse omClientResponse = captureLatencyNs( impl.getPerfMetrics().getValidateAndUpdateCacheLatencyNs(), () -> Objects.requireNonNull(omClientRequest.validateAndUpdateCache(getOzoneManager(), context), "omClientResponse returned by validateAndUpdateCache cannot be null")); - omClientResponse.setCleanupTables(TableCacheUpdateTracker.stopTracking()); + omClientResponse.setCleanupTables(tracker.getUpdatedTables()); OMAuditLogger.log(omClientRequest.getAuditBuilder(), context.getTermIndex()); return omClientResponse; } catch (Throwable th) { - TableCacheUpdateTracker.stopTracking(); OMAuditLogger.log(omClientRequest.getAuditBuilder(), omClientRequest, getOzoneManager(), context.getTermIndex(), th); throw th; From 39e4ce0c5c839caf8a3bd97c07fe1992e59936ab Mon Sep 17 00:00:00 2001 From: Ivan Andika Date: Thu, 30 Apr 2026 21:48:21 +0800 Subject: [PATCH 3/6] HDDS-13365. Fix PMD unused field warnings --- .../om/response/file/OMDirectoryCreateResponseWithFSO.java | 3 --- .../ozone/om/response/snapshot/OMSnapshotPurgeResponse.java | 4 ---- 2 files changed, 7 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java index b49b5799d93f..4a9c381303f8 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/file/OMDirectoryCreateResponseWithFSO.java @@ -41,7 +41,6 @@ public class OMDirectoryCreateResponseWithFSO extends OmKeyResponse { private OmDirectoryInfo dirInfo; private List parentDirInfos; - private Result result; private long volumeId; private long bucketId; private OmBucketInfo bucketInfo; @@ -55,7 +54,6 @@ public OMDirectoryCreateResponseWithFSO(@Nonnull OMResponse omResponse, super(omResponse, bucketLayout); this.dirInfo = dirInfo; this.parentDirInfos = pDirInfos; - this.result = result; this.volumeId = volumeId; this.bucketId = bucketId; this.bucketInfo = bucketInfo; @@ -67,7 +65,6 @@ public OMDirectoryCreateResponseWithFSO(@Nonnull OMResponse omResponse, public OMDirectoryCreateResponseWithFSO(@Nonnull OMResponse omResponse, @Nonnull Result result) { super(omResponse); - this.result = result; } @Override diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java index 11760328e3f6..f0f210197545 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotPurgeResponse.java @@ -32,15 +32,11 @@ import org.apache.hadoop.ozone.om.snapshot.OmSnapshotLocalDataManager; import org.apache.hadoop.ozone.om.snapshot.OmSnapshotLocalDataManager.WritableOmSnapshotLocalDataProvider; import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; /** * Response for OMSnapshotPurgeRequest. */ public class OMSnapshotPurgeResponse extends OMClientResponse { - private static final Logger LOG = - LoggerFactory.getLogger(OMSnapshotPurgeResponse.class); private final List snapshotDbKeys; private final Map updatedSnapInfos; private final TransactionInfo transactionInfo; From 04256f935453589986ec955bc0e1e3a7544b493f Mon Sep 17 00:00:00 2001 From: Ivan Andika Date: Fri, 1 May 2026 09:32:16 +0800 Subject: [PATCH 4/6] HDDS-13365. Track S3 secret cache cleanup --- .../java/org/apache/hadoop/ozone/om/S3SecretManager.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/S3SecretManager.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/S3SecretManager.java index bca954403f11..f8a473ae7b5f 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/S3SecretManager.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/S3SecretManager.java @@ -19,6 +19,8 @@ import java.io.IOException; import java.util.List; +import org.apache.hadoop.hdds.utils.db.TableCacheUpdateTracker; +import org.apache.hadoop.ozone.om.codec.OMDBDefinition; import org.apache.hadoop.ozone.om.helpers.S3SecretValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -100,6 +102,8 @@ default boolean isBatchSupported() { default void updateCache(String accessId, S3SecretValue secret) { S3SecretCache cache = cache(); if (cache != null) { + TableCacheUpdateTracker.recordCacheUpdate( + OMDBDefinition.S3_SECRET_TABLE_DEF.getName()); LOG.info("Updating cache for accessId/user: {}.", accessId); cache.put(accessId, secret); } @@ -108,6 +112,8 @@ default void updateCache(String accessId, S3SecretValue secret) { default void invalidateCacheEntry(String id) { S3SecretCache cache = cache(); if (cache != null) { + TableCacheUpdateTracker.recordCacheUpdate( + OMDBDefinition.S3_SECRET_TABLE_DEF.getName()); cache.invalidate(id); } } From d4d220dd4fc9f5c3194df310fffcf44e03d7eeb4 Mon Sep 17 00:00:00 2001 From: Ivan Andika Date: Fri, 1 May 2026 22:46:11 +0800 Subject: [PATCH 5/6] HDDS-13365. Preserve response cleanup tables --- .../main/smoketest/repair/om-compact.robot | 1 + .../ozone/om/request/OMClientRequest.java | 2 +- .../ozone/om/response/OMClientResponse.java | 16 +++++- .../snapshot/OMSnapshotCreateResponse.java | 8 +++ .../OzoneManagerRequestHandler.java | 2 +- .../om/response/TestOMClientResponse.java | 51 +++++++++++++++++++ 6 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestOMClientResponse.java diff --git a/hadoop-ozone/dist/src/main/smoketest/repair/om-compact.robot b/hadoop-ozone/dist/src/main/smoketest/repair/om-compact.robot index 164cf410dcbc..68c6b5705e23 100644 --- a/hadoop-ozone/dist/src/main/smoketest/repair/om-compact.robot +++ b/hadoop-ozone/dist/src/main/smoketest/repair/om-compact.robot @@ -44,6 +44,7 @@ Testing OM DB Size Reduction After Compaction ${size_before_compaction} = Get OM DB SST Files Size + Compact OM DB Column Family keyTable Compact OM DB Column Family fileTable Compact OM DB Column Family deletedTable Compact OM DB Column Family deletedDirectoryTable diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java index f3f8942d9585..e6a78ecb4b94 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/OMClientRequest.java @@ -153,7 +153,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager ozoneManager, long t TransactionInfo.getTermIndex(transactionLogIndex)); try (Tracker tracker = TableCacheUpdateTracker.track()) { OMClientResponse response = validateAndUpdateCache(ozoneManager, context); - response.setCleanupTables(tracker.getUpdatedTables()); + response.addCleanupTables(tracker.getUpdatedTables()); return response; } } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java index b4f666d823bf..78aaf197ddc5 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/OMClientResponse.java @@ -97,10 +97,22 @@ public Set getCleanupTables() { } public void setCleanupTables(Collection tables) { + cleanupTables = toCleanupTables(tables); + } + + public void addCleanupTables(Collection tables) { if (tables == null || tables.isEmpty()) { - cleanupTables = Collections.emptySet(); return; } - cleanupTables = Collections.unmodifiableSet(new LinkedHashSet<>(tables)); + Set merged = new LinkedHashSet<>(cleanupTables); + merged.addAll(tables); + cleanupTables = toCleanupTables(merged); + } + + private static Set toCleanupTables(Collection tables) { + if (tables == null || tables.isEmpty()) { + return Collections.emptySet(); + } + return Collections.unmodifiableSet(new LinkedHashSet<>(tables)); } } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java index 8995087df84b..bc89c3b72daa 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/response/snapshot/OMSnapshotCreateResponse.java @@ -17,8 +17,14 @@ package org.apache.hadoop.ozone.om.response.snapshot; +import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_DIR_TABLE; +import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.DELETED_TABLE; +import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_INFO_TABLE; +import static org.apache.hadoop.ozone.om.codec.OMDBDefinition.SNAPSHOT_RENAMED_TABLE; + import jakarta.annotation.Nonnull; import java.io.IOException; +import java.util.Arrays; import org.apache.hadoop.hdds.utils.db.BatchOperation; import org.apache.hadoop.ozone.om.OMMetadataManager; import org.apache.hadoop.ozone.om.OmSnapshotManager; @@ -37,6 +43,8 @@ public OMSnapshotCreateResponse(@Nonnull OMResponse omResponse, @Nonnull SnapshotInfo snapshotInfo) { super(omResponse); this.snapshotInfo = snapshotInfo; + addCleanupTables(Arrays.asList(DELETED_TABLE, DELETED_DIR_TABLE, + SNAPSHOT_RENAMED_TABLE, SNAPSHOT_INFO_TABLE)); } /** 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 830ab9a7dba4..128c72e6bdc5 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 @@ -426,7 +426,7 @@ public OMClientResponse handleWriteRequestImpl(OMRequest omRequest, ExecutionCon impl.getPerfMetrics().getValidateAndUpdateCacheLatencyNs(), () -> Objects.requireNonNull(omClientRequest.validateAndUpdateCache(getOzoneManager(), context), "omClientResponse returned by validateAndUpdateCache cannot be null")); - omClientResponse.setCleanupTables(tracker.getUpdatedTables()); + omClientResponse.addCleanupTables(tracker.getUpdatedTables()); OMAuditLogger.log(omClientRequest.getAuditBuilder(), context.getTermIndex()); return omClientResponse; } catch (Throwable th) { diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestOMClientResponse.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestOMClientResponse.java new file mode 100644 index 000000000000..23c0f453c9fc --- /dev/null +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/response/TestOMClientResponse.java @@ -0,0 +1,51 @@ +/* + * 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.response; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import java.util.Arrays; +import java.util.LinkedHashSet; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.OMResponse; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Status; +import org.apache.hadoop.ozone.protocol.proto.OzoneManagerProtocolProtos.Type; +import org.junit.jupiter.api.Test; + +/** + * Tests generic OM client response behavior. + */ +public class TestOMClientResponse { + + @Test + public void testCleanupTablesMergeTrackedAndResponseTables() { + OMClientResponse response = new DummyOMClientResponse( + OMResponse.newBuilder() + .setStatus(Status.OK) + .setCmdType(Type.CreateSnapshot) + .build()); + + response.addCleanupTables(new LinkedHashSet<>(Arrays.asList( + "deletedTable", "snapshotRenamedTable"))); + response.addCleanupTables(new LinkedHashSet<>( + Arrays.asList("snapshotInfoTable"))); + + assertEquals(new LinkedHashSet<>(Arrays.asList("deletedTable", + "snapshotRenamedTable", "snapshotInfoTable")), + response.getCleanupTables()); + } +} From 496395663e8fbbeecccde7345133ff3011a6e7ea Mon Sep 17 00:00:00 2001 From: Ivan Andika Date: Sat, 2 May 2026 11:04:37 +0800 Subject: [PATCH 6/6] HDDS-13365. Support nested table cache tracking --- .../utils/db/TableCacheUpdateTracker.java | 36 +++++++++++++++---- .../utils/db/TestTableCacheUpdateTracker.java | 20 +++++++++++ 2 files changed, 50 insertions(+), 6 deletions(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java index b3c59aafedd7..b9c98e1d6bc9 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/TableCacheUpdateTracker.java @@ -34,10 +34,7 @@ private TableCacheUpdateTracker() { } public static Tracker track() { - if (CURRENT_TRACKER.get() != null) { - throw new IllegalStateException("Table cache updates are already being tracked"); - } - Tracker tracker = new Tracker(); + Tracker tracker = new Tracker(CURRENT_TRACKER.get()); CURRENT_TRACKER.set(tracker); return tracker; } @@ -53,10 +50,12 @@ public static void recordCacheUpdate(String tableName) { * Tracks updated tables until the scope is closed. */ public static final class Tracker implements AutoCloseable { + private final Tracker parent; private Set tables = TRACKING; private boolean closed; - private Tracker() { + private Tracker(Tracker parent) { + this.parent = parent; } public Set getUpdatedTables() { @@ -69,8 +68,16 @@ public Set getUpdatedTables() { @Override public void close() { if (!closed) { + Tracker activeParent = getActiveParent(); + if (activeParent != null) { + activeParent.addTables(tables); + } if (CURRENT_TRACKER.get() == this) { - CURRENT_TRACKER.remove(); + if (activeParent != null) { + CURRENT_TRACKER.set(activeParent); + } else { + CURRENT_TRACKER.remove(); + } } closed = true; } @@ -84,5 +91,22 @@ private void recordCacheUpdate(String tableName) { tables.add(tableName); } } + + private Tracker getActiveParent() { + Tracker current = parent; + while (current != null && current.closed) { + current = current.parent; + } + return current; + } + + private void addTables(Set tableNames) { + if (!closed && tableNames != TRACKING && !tableNames.isEmpty()) { + if (tables == TRACKING) { + tables = new LinkedHashSet<>(); + } + tables.addAll(tableNames); + } + } } } diff --git a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java index ac4ff42bf898..51a6c44e2b5c 100644 --- a/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java +++ b/hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/utils/db/TestTableCacheUpdateTracker.java @@ -49,4 +49,24 @@ public void closedTrackerStopsRecordingUpdates() { assertThat(tracker.getUpdatedTables()).containsExactly("table1"); } + + @Test + public void nestedTrackerMergesUpdatesIntoParent() { + try (TableCacheUpdateTracker.Tracker parent = + TableCacheUpdateTracker.track()) { + TableCacheUpdateTracker.recordCacheUpdate("table1"); + + try (TableCacheUpdateTracker.Tracker child = + TableCacheUpdateTracker.track()) { + TableCacheUpdateTracker.recordCacheUpdate("table2"); + + assertThat(child.getUpdatedTables()).containsExactly("table2"); + } + + TableCacheUpdateTracker.recordCacheUpdate("table3"); + + assertThat(parent.getUpdatedTables()) + .containsExactly("table1", "table2", "table3"); + } + } }