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 06c6a1410e HDDS-12159. Remove redundant seek for rocksDBs (#7794)
06c6a1410e is described below

commit 06c6a1410ecc32b4a18307bac044249e927af759
Author: Tejaskriya <[email protected]>
AuthorDate: Thu Feb 6 07:24:06 2025 +0530

    HDDS-12159. Remove redundant seek for rocksDBs (#7794)
    
    Co-authored-by: tejaskriya <[email protected]>
---
 .../java/org/apache/hadoop/ozone/om/KeyManagerImpl.java    | 11 +++--------
 .../org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java  | 14 +++++---------
 .../apache/hadoop/ozone/om/request/file/OMFileRequest.java |  8 ++------
 3 files changed, 10 insertions(+), 23 deletions(-)

diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
index 6bad74b6d4..735dfca559 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/KeyManagerImpl.java
@@ -2081,21 +2081,18 @@ public DeleteKeysResult getPendingDeletionSubDirs(long 
volumeId, long bucketId,
     Table<String, OmDirectoryInfo> dirTable = 
metadataManager.getDirectoryTable();
     try (TableIterator<String,
         ? extends Table.KeyValue<String, OmDirectoryInfo>>
-        iterator = dirTable.iterator()) {
-      return gatherSubDirsWithIterator(parentInfo,
-          seekDirInDB, countEntries, iterator, remainingBufLimit);
+        iterator = dirTable.iterator(seekDirInDB)) {
+      return gatherSubDirsWithIterator(parentInfo, countEntries, iterator, 
remainingBufLimit);
     }
 
   }
 
   private DeleteKeysResult gatherSubDirsWithIterator(OmKeyInfo parentInfo,
-       String seekDirInDB,
       long countEntries,
       TableIterator<String,
           ? extends Table.KeyValue<String, OmDirectoryInfo>> iterator, long 
remainingBufLimit)
       throws IOException {
     List<OmKeyInfo> directories = new ArrayList<>();
-    iterator.seek(seekDirInDB);
     long consumedSize = 0;
     boolean processedSubDirs = false;
 
@@ -2142,9 +2139,7 @@ public DeleteKeysResult getPendingDeletionSubFiles(long 
volumeId,
 
     Table fileTable = metadataManager.getFileTable();
     try (TableIterator<String, ? extends Table.KeyValue<String, OmKeyInfo>>
-        iterator = fileTable.iterator()) {
-
-      iterator.seek(seekFileInDB);
+        iterator = fileTable.iterator(seekFileInDB)) {
 
       while (iterator.hasNext() && remainingBufLimit > 0) {
         Table.KeyValue<String, OmKeyInfo> entry = iterator.next();
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
index 8f4c070b76..2c562349ad 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OmMetadataManagerImpl.java
@@ -1955,19 +1955,15 @@ public Set<String> getMultipartUploadKeys(
       }
     }
 
+    // prefixed iterator will only iterate until keys match the prefix
     try (TableIterator<String, ? extends KeyValue<String, OmMultipartKeyInfo>>
-        iterator = getMultipartInfoTable().iterator()) {
-      iterator.seek(prefixKey);
+        iterator = getMultipartInfoTable().iterator(prefixKey)) {
 
       while (iterator.hasNext()) {
         KeyValue<String, OmMultipartKeyInfo> entry = iterator.next();
-        if (entry.getKey().startsWith(prefixKey)) {
-          // If it is marked for abort, skip it.
-          if (!aborted.contains(entry.getKey())) {
-            response.add(entry.getKey());
-          }
-        } else {
-          break;
+        // If it is marked for abort, skip it.
+        if (!aborted.contains(entry.getKey())) {
+          response.add(entry.getKey());
         }
       }
     }
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
index 8f2a768c52..afcd721ea2 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileRequest.java
@@ -906,9 +906,7 @@ private static boolean checkSubDirectoryExists(OmKeyInfo 
omKeyInfo,
             omKeyInfo.getObjectID(), "");
     try (TableIterator<String, ? extends
         Table.KeyValue<String, OmDirectoryInfo>>
-            iterator = dirTable.iterator()) {
-
-      iterator.seek(seekDirInDB);
+            iterator = dirTable.iterator(seekDirInDB)) {
 
       if (iterator.hasNext()) {
         Table.KeyValue<String, OmDirectoryInfo> entry = iterator.next();
@@ -952,9 +950,7 @@ private static boolean checkSubFileExists(OmKeyInfo 
omKeyInfo,
     String seekFileInDB = metaMgr.getOzonePathKey(volumeId, bucketId,
             omKeyInfo.getObjectID(), "");
     try (TableIterator<String, ? extends Table.KeyValue<String, OmKeyInfo>>
-            iterator = fileTable.iterator()) {
-
-      iterator.seek(seekFileInDB);
+            iterator = fileTable.iterator(seekFileInDB)) {
 
       if (iterator.hasNext()) {
         Table.KeyValue<String, OmKeyInfo> entry = iterator.next();


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to