This is an automated email from the ASF dual-hosted git repository.
siyao 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 72167cf86c3 HDDS-13860. RocksDatabase#open leaks column family handles
when failing to read cfOptions from file (#9225)
72167cf86c3 is described below
commit 72167cf86c36aab5d53dcfb934ea3ce5973b764a
Author: Siyao Meng <[email protected]>
AuthorDate: Fri Oct 31 16:41:02 2025 -0700
HDDS-13860. RocksDatabase#open leaks column family handles when failing to
read cfOptions from file (#9225)
---
.../main/java/org/apache/hadoop/hdds/utils/db/RocksDatabase.java | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDatabase.java
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDatabase.java
index 9eeb69ece3d..b93626060c8 100644
---
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDatabase.java
+++
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/db/RocksDatabase.java
@@ -159,8 +159,9 @@ static RocksDatabase open(File dbFile, ManagedDBOptions
dbOptions,
List<ColumnFamilyDescriptor> descriptors = null;
ManagedRocksDB db = null;
final Map<String, ColumnFamily> columnFamilies = new HashMap<>();
+ List<TableConfig> extra = null;
try {
- final List<TableConfig> extra = getExtraColumnFamilies(dbFile, families);
+ extra = getExtraColumnFamilies(dbFile, families);
descriptors = Stream.concat(families.stream(), extra.stream())
.map(TableConfig::getDescriptor)
.collect(Collectors.toList());
@@ -178,6 +179,10 @@ static RocksDatabase open(File dbFile, ManagedDBOptions
dbOptions,
} catch (RocksDBException e) {
close(columnFamilies, db, descriptors, writeOptions, dbOptions);
throw toRocksDatabaseException(RocksDatabase.class, "open " + dbFile, e);
+ } finally {
+ if (extra != null) {
+ extra.forEach(TableConfig::close);
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]