This is an automated email from the ASF dual-hosted git repository.
adoroszlai 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 aafc21a HDDS-6238 Reduce memory requirements for list keys. (#3032)
aafc21a is described below
commit aafc21ae0537ef0705368c16e396648aa3539b08
Author: Ritesh H Shukla <[email protected]>
AuthorDate: Sun Feb 6 02:32:58 2022 -0800
HDDS-6238 Reduce memory requirements for list keys. (#3032)
---
.../apache/hadoop/ozone/om/OmMetadataManagerImpl.java | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
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 d1095ad..81e1e09 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
@@ -891,7 +891,6 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
TreeMap<String, OmKeyInfo> cacheKeyMap = new TreeMap<>();
- Set<String> deletedKeySet = new TreeSet<>();
Iterator<Map.Entry<CacheKey<String>, CacheValue<OmKeyInfo>>> iterator =
keyTable.cacheIterator();
@@ -911,12 +910,10 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
OmKeyInfo omKeyInfo = entry.getValue().getCacheValue();
// Making sure that entry in cache is not for delete key request.
- if (omKeyInfo != null) {
- if (key.startsWith(seekPrefix) && key.compareTo(seekKey) >= 0) {
- cacheKeyMap.put(key, omKeyInfo);
- }
- } else {
- deletedKeySet.add(key);
+ if (omKeyInfo != null
+ && key.startsWith(seekPrefix)
+ && key.compareTo(seekKey) >= 0) {
+ cacheKeyMap.put(key, omKeyInfo);
}
}
@@ -934,7 +931,9 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
// Entry should not be marked for delete, consider only those
// entries.
- if(!deletedKeySet.contains(kv.getKey())) {
+ CacheValue<OmKeyInfo> cacheValue =
+ keyTable.getCacheValue(new CacheKey<>(kv.getKey()));
+ if(cacheValue == null || cacheValue.getCacheValue() != null) {
cacheKeyMap.put(kv.getKey(), kv.getValue());
currentCount++;
}
@@ -965,7 +964,6 @@ public class OmMetadataManagerImpl implements
OMMetadataManager {
// Clear map and set.
cacheKeyMap.clear();
- deletedKeySet.clear();
return result;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]