This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ozone.git
The following commit(s) were added to refs/heads/master by this push:
new 253917f286 HDDS-13247. Refactor duplicated code from
OMSnapshotMoveTableKeysRequest and OMSnapshotMoveDeletedKeysRequest into a
shared helper method. (#8807)
253917f286 is described below
commit 253917f286af59d041637a0ed1d0b29d4cba5646
Author: Wei-Chiu Chuang <[email protected]>
AuthorDate: Sat Jul 26 11:21:52 2025 -0700
HDDS-13247. Refactor duplicated code from OMSnapshotMoveTableKeysRequest
and OMSnapshotMoveDeletedKeysRequest into a shared helper method. (#8807)
Generated-by: Google Gemini 2.5 Pro + Gemini Cli.
---
.../snapshot/OMSnapshotMoveDeletedKeysRequest.java | 13 +----
.../snapshot/OMSnapshotMoveTableKeysRequest.java | 13 +----
.../om/request/snapshot/OMSnapshotMoveUtils.java | 56 ++++++++++++++++++++++
3 files changed, 58 insertions(+), 24 deletions(-)
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveDeletedKeysRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveDeletedKeysRequest.java
index f446eee769..8728903917 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveDeletedKeysRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveDeletedKeysRequest.java
@@ -22,9 +22,6 @@
import java.io.IOException;
import java.util.List;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
-import org.apache.hadoop.hdds.utils.TransactionInfo;
-import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
-import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
import org.apache.hadoop.ozone.om.OmMetadataManagerImpl;
import org.apache.hadoop.ozone.om.OzoneManager;
import org.apache.hadoop.ozone.om.SnapshotChainManager;
@@ -82,15 +79,7 @@ public OMClientResponse validateAndUpdateCache(OzoneManager
ozoneManager, Execut
List<HddsProtos.KeyValue> renamedKeysList =
moveDeletedKeysRequest.getRenamedKeysList();
List<String> movedDirs =
moveDeletedKeysRequest.getDeletedDirsToMoveList();
- // Update lastTransactionInfo for fromSnapshot and the nextSnapshot.
-
fromSnapshot.setLastTransactionInfo(TransactionInfo.valueOf(context.getTermIndex()).toByteString());
- omMetadataManager.getSnapshotInfoTable().addCacheEntry(new
CacheKey<>(fromSnapshot.getTableKey()),
- CacheValue.get(context.getIndex(), fromSnapshot));
- if (nextSnapshot != null) {
-
nextSnapshot.setLastTransactionInfo(TransactionInfo.valueOf(context.getTermIndex()).toByteString());
- omMetadataManager.getSnapshotInfoTable().addCacheEntry(new
CacheKey<>(nextSnapshot.getTableKey()),
- CacheValue.get(context.getIndex(), nextSnapshot));
- }
+ OMSnapshotMoveUtils.updateCache(ozoneManager, fromSnapshot,
nextSnapshot, context);
omClientResponse = new OMSnapshotMoveDeletedKeysResponse(
omResponse.build(), fromSnapshot, nextSnapshot,
nextDBKeysList, reclaimKeysList, renamedKeysList, movedDirs);
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveTableKeysRequest.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveTableKeysRequest.java
index 7348fe41b6..c8c894d806 100644
---
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveTableKeysRequest.java
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveTableKeysRequest.java
@@ -26,9 +26,6 @@
import java.util.List;
import java.util.Set;
import org.apache.hadoop.hdds.protocol.proto.HddsProtos;
-import org.apache.hadoop.hdds.utils.TransactionInfo;
-import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
-import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
import org.apache.hadoop.ozone.om.OmMetadataManagerImpl;
import org.apache.hadoop.ozone.om.OmSnapshotInternalMetrics;
import org.apache.hadoop.ozone.om.OzoneManager;
@@ -159,15 +156,7 @@ public OMClientResponse
validateAndUpdateCache(OzoneManager ozoneManager, Execut
OMException.ResultCodes.INVALID_SNAPSHOT_ERROR);
}
- // Update lastTransactionInfo for fromSnapshot and the nextSnapshot.
-
fromSnapshot.setLastTransactionInfo(TransactionInfo.valueOf(context.getTermIndex()).toByteString());
- omMetadataManager.getSnapshotInfoTable().addCacheEntry(new
CacheKey<>(fromSnapshot.getTableKey()),
- CacheValue.get(context.getIndex(), fromSnapshot));
- if (nextSnapshot != null) {
-
nextSnapshot.setLastTransactionInfo(TransactionInfo.valueOf(context.getTermIndex()).toByteString());
- omMetadataManager.getSnapshotInfoTable().addCacheEntry(new
CacheKey<>(nextSnapshot.getTableKey()),
- CacheValue.get(context.getIndex(), nextSnapshot));
- }
+ OMSnapshotMoveUtils.updateCache(ozoneManager, fromSnapshot,
nextSnapshot, context);
omClientResponse = new
OMSnapshotMoveTableKeysResponse(omResponse.build(), fromSnapshot, nextSnapshot,
moveTableKeysRequest.getDeletedKeysList(),
moveTableKeysRequest.getDeletedDirsList(),
moveTableKeysRequest.getRenamedKeysList());
diff --git
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveUtils.java
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveUtils.java
new file mode 100644
index 0000000000..d9d104f6c2
--- /dev/null
+++
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/snapshot/OMSnapshotMoveUtils.java
@@ -0,0 +1,56 @@
+/*
+ * 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.request.snapshot;
+
+import java.io.IOException;
+import org.apache.hadoop.hdds.utils.TransactionInfo;
+import org.apache.hadoop.hdds.utils.db.cache.CacheKey;
+import org.apache.hadoop.hdds.utils.db.cache.CacheValue;
+import org.apache.hadoop.ozone.om.OmMetadataManagerImpl;
+import org.apache.hadoop.ozone.om.OzoneManager;
+import org.apache.hadoop.ozone.om.execution.flowcontrol.ExecutionContext;
+import org.apache.hadoop.ozone.om.helpers.SnapshotInfo;
+
+/**
+ * Utility class for snapshot move requests.
+ */
+public final class OMSnapshotMoveUtils {
+
+ private OMSnapshotMoveUtils() {
+ }
+
+ public static void updateCache(OzoneManager ozoneManager, SnapshotInfo
fromSnapshot, SnapshotInfo toSnapshot,
+ ExecutionContext context) throws IOException {
+ OmMetadataManagerImpl omMetadataManager = (OmMetadataManagerImpl)
+ ozoneManager.getMetadataManager();
+
+ // Update lastTransactionInfo for fromSnapshot and the nextSnapshot.
+ fromSnapshot.setLastTransactionInfo(TransactionInfo.valueOf(
+ context.getTermIndex()).toByteString());
+ omMetadataManager.getSnapshotInfoTable().addCacheEntry(
+ new CacheKey<>(fromSnapshot.getTableKey()),
+ CacheValue.get(context.getIndex(), fromSnapshot));
+ if (toSnapshot != null) {
+ toSnapshot.setLastTransactionInfo(TransactionInfo.valueOf(
+ context.getTermIndex()).toByteString());
+ omMetadataManager.getSnapshotInfoTable().addCacheEntry(
+ new CacheKey<>(toSnapshot.getTableKey()),
+ CacheValue.get(context.getIndex(), toSnapshot));
+ }
+ }
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]