This is an automated email from the ASF dual-hosted git repository.

gjahad 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 607122cc4a HDDS-9419. java.lang.UnsatisfiedLinkError when trying to 
read RocksDB with ozone debug ldb (#5416)
607122cc4a is described below

commit 607122cc4a7790eb5119f0888b3ac9062df90e2a
Author: XiChen <[email protected]>
AuthorDate: Sat Oct 14 00:45:30 2023 +0800

    HDDS-9419. java.lang.UnsatisfiedLinkError when trying to read RocksDB with 
ozone debug ldb (#5416)
---
 .../java/org/apache/hadoop/hdds/utils/db/RocksDatabase.java    |  5 ++++-
 .../hadoop/hdds/utils/db/managed/ManagedRocksObjectUtils.java  | 10 ++++++++++
 2 files changed, 14 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 f679a16102..ea4fd0b921 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
@@ -32,6 +32,7 @@ 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.ManagedRocksDB;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedRocksIterator;
+import org.apache.hadoop.hdds.utils.db.managed.ManagedRocksObjectUtils;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedTransactionLogIterator;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedWriteBatch;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedWriteOptions;
@@ -80,9 +81,11 @@ public final class RocksDatabase implements Closeable {
   static final Logger LOG = LoggerFactory.getLogger(RocksDatabase.class);
 
   public static final String ESTIMATE_NUM_KEYS = "rocksdb.estimate-num-keys";
+  static {
+    ManagedRocksObjectUtils.loadRocksDBLibrary();
+  }
   private static final ManagedReadOptions DEFAULT_READ_OPTION =
       new ManagedReadOptions();
-
   private static Map<String, List<ColumnFamilyHandle>> dbNameToCfHandleMap =
       new HashMap<>();
 
diff --git 
a/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedRocksObjectUtils.java
 
b/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedRocksObjectUtils.java
index 83bb0dc51d..3be9171513 100644
--- 
a/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedRocksObjectUtils.java
+++ 
b/hadoop-hdds/managed-rocksdb/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedRocksObjectUtils.java
@@ -21,6 +21,7 @@ package org.apache.hadoop.hdds.utils.db.managed;
 import org.apache.hadoop.hdds.HddsUtils;
 import org.awaitility.Awaitility;
 import org.awaitility.core.ConditionTimeoutException;
+import org.rocksdb.RocksDB;
 import org.rocksdb.RocksObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -113,4 +114,13 @@ public final class ManagedRocksObjectUtils {
     waitForFileDelete(file, maxDuration, POLL_INTERVAL_DURATION,
         POLL_DELAY_DURATION);
   }
+
+  /**
+   * Ensures that the RocksDB native library is loaded.
+   * This method should be called before performing any operations
+   * that require the RocksDB native library.
+   */
+  public static void loadRocksDBLibrary() {
+    RocksDB.loadLibrary();
+  }
 }


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

Reply via email to