Skip to content

Commit

Permalink
HDDS-12159. Remove redundant seek for rocksDBs
Browse files Browse the repository at this point in the history
  • Loading branch information
tejaskriya committed Feb 3, 2025
1 parent fc89ba6 commit 5da36ad
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2081,21 +2081,17 @@ public List<OmKeyInfo> 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, numEntries,
seekDirInDB, countEntries, iterator);
iterator = dirTable.iterator(seekDirInDB)) {
return gatherSubDirsWithIterator(parentInfo, numEntries, countEntries, iterator);
}

}

private List<OmKeyInfo> gatherSubDirsWithIterator(OmKeyInfo parentInfo,
long numEntries, String seekDirInDB,
long countEntries,
TableIterator<String,
? extends Table.KeyValue<String, OmDirectoryInfo>> iterator)
long numEntries, long countEntries,
TableIterator<String, ? extends Table.KeyValue<String, OmDirectoryInfo>> iterator)
throws IOException {
List<OmKeyInfo> directories = new ArrayList<>();
iterator.seek(seekDirInDB);

while (iterator.hasNext() && numEntries - countEntries > 0) {
Table.KeyValue<String, OmDirectoryInfo> entry = iterator.next();
Expand Down Expand Up @@ -2130,9 +2126,7 @@ public List<OmKeyInfo> 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() && numEntries - countEntries > 0) {
Table.KeyValue<String, OmKeyInfo> entry = iterator.next();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down Expand Up @@ -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();
Expand Down

0 comments on commit 5da36ad

Please sign in to comment.