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 6d41b8709b HDDS-10001. Options not closed properly in
rocksdb-checkpoint-differ (#5890)
6d41b8709b is described below
commit 6d41b8709b8fd81405cc06b3847c8989c60a80ab
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Tue Jan 2 22:24:33 2024 +0100
HDDS-10001. Options not closed properly in rocksdb-checkpoint-differ (#5890)
---
.../apache/ozone/rocksdb/util/SstFileSetReader.java | 7 ++++---
.../ozone/rocksdiff/RocksDBCheckpointDiffer.java | 16 +++++++++-------
.../org/apache/ozone/rocksdiff/RocksDiffUtils.java | 18 +++++++++++-------
3 files changed, 24 insertions(+), 17 deletions(-)
diff --git
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/SstFileSetReader.java
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/SstFileSetReader.java
index 3b30ca5a14..be949cd4fb 100644
---
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/SstFileSetReader.java
+++
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/SstFileSetReader.java
@@ -78,9 +78,10 @@ public class SstFileSetReader {
try (ManagedOptions options = new ManagedOptions()) {
for (String sstFile : sstFiles) {
- SstFileReader fileReader = new SstFileReader(options);
- fileReader.open(sstFile);
- estimatedSize += fileReader.getTableProperties().getNumEntries();
+ try (SstFileReader fileReader = new SstFileReader(options)) {
+ fileReader.open(sstFile);
+ estimatedSize += fileReader.getTableProperties().getNumEntries();
+ }
}
}
estimatedTotalKeys = estimatedSize;
diff --git
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDBCheckpointDiffer.java
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDBCheckpointDiffer.java
index b6d6e773df..e830106e57 100644
---
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDBCheckpointDiffer.java
+++
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDBCheckpointDiffer.java
@@ -629,16 +629,18 @@ public class RocksDBCheckpointDiffer implements
AutoCloseable,
filename += SST_FILE_EXTENSION;
}
- Options option = new Options();
- SstFileReader reader = new SstFileReader(option);
+ try (
+ ManagedOptions option = new ManagedOptions();
+ SstFileReader reader = new SstFileReader(option)) {
- reader.open(getAbsoluteSstFilePath(filename));
+ reader.open(getAbsoluteSstFilePath(filename));
- TableProperties properties = reader.getTableProperties();
- if (LOG.isDebugEnabled()) {
- LOG.debug("{} has {} keys", filename, properties.getNumEntries());
+ TableProperties properties = reader.getTableProperties();
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("{} has {} keys", filename, properties.getNumEntries());
+ }
+ return properties.getNumEntries();
}
- return properties.getNumEntries();
}
private String getAbsoluteSstFilePath(String filename)
diff --git
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDiffUtils.java
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDiffUtils.java
index 4b7da351f1..5ddcf8b7e6 100644
---
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDiffUtils.java
+++
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdiff/RocksDiffUtils.java
@@ -18,12 +18,12 @@
package org.apache.ozone.rocksdiff;
import org.apache.commons.lang3.StringUtils;
+import org.apache.hadoop.hdds.utils.db.managed.ManagedOptions;
+import org.apache.hadoop.hdds.utils.db.managed.ManagedReadOptions;
import org.apache.hadoop.hdds.utils.db.managed.ManagedSstFileReader;
import org.apache.hadoop.hdds.utils.db.managed.ManagedSstFileReaderIterator;
import org.rocksdb.SstFileReader;
import org.rocksdb.TableProperties;
-import org.rocksdb.Options;
-import org.rocksdb.ReadOptions;
import org.rocksdb.RocksDBException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -87,16 +87,20 @@ public final class RocksDiffUtils {
public static boolean doesSstFileContainKeyRange(String filepath,
Map<String, String> tableToPrefixMap) throws IOException {
- try (ManagedSstFileReader sstFileReader = ManagedSstFileReader.managed(
- new SstFileReader(new Options()))) {
+
+ try (
+ ManagedOptions options = new ManagedOptions();
+ ManagedSstFileReader sstFileReader = ManagedSstFileReader.managed(new
SstFileReader(options))) {
sstFileReader.get().open(filepath);
TableProperties properties = sstFileReader.get().getTableProperties();
String tableName = new String(properties.getColumnFamilyName(), UTF_8);
if (tableToPrefixMap.containsKey(tableName)) {
String prefix = tableToPrefixMap.get(tableName);
- try (ManagedSstFileReaderIterator iterator =
- ManagedSstFileReaderIterator.managed(sstFileReader.get()
- .newIterator(new ReadOptions()))) {
+
+ try (
+ ManagedReadOptions readOptions = new ManagedReadOptions();
+ ManagedSstFileReaderIterator iterator =
ManagedSstFileReaderIterator.managed(
+ sstFileReader.get().newIterator(readOptions))) {
iterator.get().seek(prefix.getBytes(UTF_8));
String seekResultKey = new String(iterator.get().key(), UTF_8);
return seekResultKey.startsWith(prefix);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]