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

hemant 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 559e884a1d HDDS-9799. Provide a flag to skip the native_rocksdb_tool 
loading (#5719)
559e884a1d is described below

commit 559e884a1d9588d277324304bd685d66ceef9883
Author: Swaminathan Balachandran <[email protected]>
AuthorDate: Fri Dec 15 10:39:29 2023 +0530

    HDDS-9799. Provide a flag to skip the native_rocksdb_tool loading (#5719)
---
 .../common/src/main/resources/ozone-default.xml    |  9 +++
 .../utils/db/managed/ManagedSSTDumpIterator.java   |  8 +-
 .../hdds/utils/db/managed/ManagedSSTDumpTool.java  | 14 +---
 .../hdds/utils/db/managed/PipeInputStream.java     | 15 +---
 .../db/managed/TestManagedSSTDumpIterator.java     |  3 +-
 .../ozone/rocksdb/util/ManagedSstFileReader.java   | 11 +--
 .../org/apache/hadoop/ozone/om/OMConfigKeys.java   |  4 +
 .../ozone/om/snapshot/SnapshotDiffManager.java     | 88 ++++++++--------------
 .../ozone/om/snapshot/TestSnapshotDiffManager.java |  8 +-
 9 files changed, 62 insertions(+), 98 deletions(-)

diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml 
b/hadoop-hdds/common/src/main/resources/ozone-default.xml
index d0c8f4e2bd..2d410fecd9 100644
--- a/hadoop-hdds/common/src/main/resources/ozone-default.xml
+++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml
@@ -4188,6 +4188,15 @@
     </description>
   </property>
 
+  <property>
+    <name>ozone.om.snapshot.load.native.lib</name>
+    <value>true</value>
+    <tag>OZONE, OM</tag>
+    <description>
+      Load native library for performing optimized snapshot diff.
+    </description>
+  </property>
+
   <property>
     <name>ozone.om.snapshot.sst_dumptool.buffer.size</name>
     <value>8KB</value>
diff --git 
a/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
 
b/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
index 38358df9f6..d8844eaacb 100644
--- 
a/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
+++ 
b/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpIterator.java
@@ -21,7 +21,6 @@ import com.google.common.collect.Maps;
 import com.google.common.primitives.UnsignedLong;
 import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.util.ClosableIterator;
-import org.apache.hadoop.hdds.utils.NativeLibraryNotLoadedException;
 import org.eclipse.jetty.io.RuntimeIOException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -62,7 +61,7 @@ public abstract class ManagedSSTDumpIterator<T> implements 
ClosableIterator<T> {
 
   public ManagedSSTDumpIterator(ManagedSSTDumpTool sstDumpTool,
                                 String sstFilePath, ManagedOptions options)
-      throws NativeLibraryNotLoadedException, IOException {
+      throws IOException {
     this(sstDumpTool, sstFilePath, options, null, null);
   }
 
@@ -70,7 +69,7 @@ public abstract class ManagedSSTDumpIterator<T> implements 
ClosableIterator<T> {
                                 String sstFilePath, ManagedOptions options,
                                 ManagedSlice lowerKeyBound,
                                 ManagedSlice upperKeyBound)
-      throws IOException, NativeLibraryNotLoadedException {
+      throws IOException {
     File sstFile = new File(sstFilePath);
     if (!sstFile.exists()) {
       throw new IOException(String.format("File in path : %s doesn't exist",
@@ -136,8 +135,7 @@ public abstract class ManagedSSTDumpIterator<T> implements 
ClosableIterator<T> {
 
   private void init(ManagedSSTDumpTool sstDumpTool, File sstFile,
                     ManagedOptions options, ManagedSlice lowerKeyBound,
-                    ManagedSlice upperKeyBound)
-      throws NativeLibraryNotLoadedException {
+                    ManagedSlice upperKeyBound) {
     Map<String, String> argMap = Maps.newHashMap();
     argMap.put("file", sstFile.getAbsolutePath());
     argMap.put("silent", null);
diff --git 
a/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpTool.java
 
b/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpTool.java
index 0c601b7c1d..5d965d7398 100644
--- 
a/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpTool.java
+++ 
b/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/ManagedSSTDumpTool.java
@@ -34,18 +34,14 @@ import static 
org.apache.hadoop.hdds.utils.NativeConstants.ROCKS_TOOLS_NATIVE_LI
  */
 public class ManagedSSTDumpTool {
 
-  static {
-    NativeLibraryLoader.getInstance()
-        .loadLibrary(ROCKS_TOOLS_NATIVE_LIBRARY_NAME);
-  }
-
   private int bufferCapacity;
   private ExecutorService executorService;
 
   public ManagedSSTDumpTool(ExecutorService executorService,
                             int bufferCapacity)
       throws NativeLibraryNotLoadedException {
-    if (!NativeLibraryLoader.isLibraryLoaded(ROCKS_TOOLS_NATIVE_LIBRARY_NAME)) 
{
+    if (!NativeLibraryLoader.getInstance()
+        .loadLibrary(ROCKS_TOOLS_NATIVE_LIBRARY_NAME)) {
       throw new NativeLibraryNotLoadedException(
           ROCKS_TOOLS_NATIVE_LIBRARY_NAME);
     }
@@ -53,16 +49,14 @@ public class ManagedSSTDumpTool {
     this.executorService = executorService;
   }
 
-  public SSTDumpToolTask run(String[] args, ManagedOptions options)
-      throws NativeLibraryNotLoadedException {
+  public SSTDumpToolTask run(String[] args, ManagedOptions options) {
     PipeInputStream pipeInputStream = new PipeInputStream(bufferCapacity);
     return new SSTDumpToolTask(this.executorService.submit(() ->
         this.runInternal(args, options.getNativeHandle(),
             pipeInputStream.getNativeHandle())), pipeInputStream);
   }
 
-  public SSTDumpToolTask run(Map<String, String> args, ManagedOptions options)
-      throws NativeLibraryNotLoadedException {
+  public SSTDumpToolTask run(Map<String, String> args, ManagedOptions options) 
{
     return this.run(args.entrySet().stream().map(e -> "--"
         + (e.getValue() == null || e.getValue().isEmpty() ? e.getKey() :
         e.getKey() + "=" + e.getValue())).toArray(String[]::new), options);
diff --git 
a/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/PipeInputStream.java
 
b/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/PipeInputStream.java
index 54d653b6bf..df4f613f98 100644
--- 
a/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/PipeInputStream.java
+++ 
b/hadoop-hdds/rocks-native/src/main/java/org/apache/hadoop/hdds/utils/db/managed/PipeInputStream.java
@@ -18,22 +18,14 @@
 
 package org.apache.hadoop.hdds.utils.db.managed;
 
-import org.apache.hadoop.hdds.utils.NativeLibraryLoader;
-import org.apache.hadoop.hdds.utils.NativeLibraryNotLoadedException;
 import java.io.InputStream;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import static 
org.apache.hadoop.hdds.utils.NativeConstants.ROCKS_TOOLS_NATIVE_LIBRARY_NAME;
-
 /**
  * JNI for reading data from pipe.
  */
 public class PipeInputStream extends InputStream {
 
-  static {
-    NativeLibraryLoader.getInstance()
-            .loadLibrary(ROCKS_TOOLS_NATIVE_LIBRARY_NAME);
-  }
   private byte[] byteBuffer;
   private long nativeHandle;
   private int numberOfBytesLeftToRead;
@@ -42,12 +34,7 @@ public class PipeInputStream extends InputStream {
 
   private AtomicBoolean cleanup;
 
-  PipeInputStream(int capacity) throws NativeLibraryNotLoadedException {
-    if (!NativeLibraryLoader.isLibraryLoaded(ROCKS_TOOLS_NATIVE_LIBRARY_NAME)) 
{
-      throw new NativeLibraryNotLoadedException(
-              ROCKS_TOOLS_NATIVE_LIBRARY_NAME);
-    }
-
+  PipeInputStream(int capacity) {
     this.byteBuffer = new byte[capacity];
     this.numberOfBytesLeftToRead = 0;
     this.capacity = capacity;
diff --git 
a/hadoop-hdds/rocks-native/src/test/java/org/apache/hadoop/hdds/utils/db/managed/TestManagedSSTDumpIterator.java
 
b/hadoop-hdds/rocks-native/src/test/java/org/apache/hadoop/hdds/utils/db/managed/TestManagedSSTDumpIterator.java
index 496b8052c6..99d2a6ced5 100644
--- 
a/hadoop-hdds/rocks-native/src/test/java/org/apache/hadoop/hdds/utils/db/managed/TestManagedSSTDumpIterator.java
+++ 
b/hadoop-hdds/rocks-native/src/test/java/org/apache/hadoop/hdds/utils/db/managed/TestManagedSSTDumpIterator.java
@@ -22,7 +22,6 @@ import com.google.common.primitives.Bytes;
 import org.apache.commons.lang3.tuple.Pair;
 import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.utils.NativeLibraryLoader;
-import org.apache.hadoop.hdds.utils.NativeLibraryNotLoadedException;
 import org.apache.hadoop.hdds.utils.TestUtils;
 import org.apache.ozone.test.tag.Native;
 import org.apache.ozone.test.tag.Unhealthy;
@@ -248,7 +247,7 @@ class TestManagedSSTDumpIterator {
   @ParameterizedTest
   @MethodSource("invalidPipeInputStreamBytes")
   public void testInvalidSSTDumpIteratorWithKeyFormat(byte[] inputBytes)
-      throws NativeLibraryNotLoadedException, ExecutionException,
+      throws ExecutionException,
       InterruptedException, IOException {
     ByteArrayInputStream byteArrayInputStream =
         new ByteArrayInputStream(inputBytes);
diff --git 
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/ManagedSstFileReader.java
 
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/ManagedSstFileReader.java
index cf98e340e6..120b199c88 100644
--- 
a/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/ManagedSstFileReader.java
+++ 
b/hadoop-hdds/rocksdb-checkpoint-differ/src/main/java/org/apache/ozone/rocksdb/util/ManagedSstFileReader.java
@@ -22,7 +22,6 @@ import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.utils.IOUtils;
 import org.apache.hadoop.hdds.utils.db.managed.ManagedSlice;
 import org.apache.hadoop.util.ClosableIterator;
-import org.apache.hadoop.hdds.utils.NativeLibraryNotLoadedException;
 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.ManagedSSTDumpIterator;
@@ -167,7 +166,7 @@ public class ManagedSstFileReader {
 
           @Override
           protected ClosableIterator<String> getKeyIteratorForFile(String file)
-              throws NativeLibraryNotLoadedException, IOException {
+              throws IOException {
             return new ManagedSSTDumpIterator<String>(sstDumpTool, file,
                 options, lowerBoundSlice, upperBoundSlice) {
               @Override
@@ -239,7 +238,7 @@ public class ManagedSstFileReader {
     protected abstract void init();
 
     protected abstract ClosableIterator<T> getKeyIteratorForFile(String file)
-        throws RocksDBException, NativeLibraryNotLoadedException,
+        throws RocksDBException,
         IOException;
 
     @Override
@@ -251,8 +250,7 @@ public class ManagedSstFileReader {
             return true;
           }
         } while (moveToNextFile());
-      } catch (IOException | RocksDBException |
-               NativeLibraryNotLoadedException e) {
+      } catch (IOException | RocksDBException e) {
         // TODO: [Snapshot] This exception has to be handled by the caller.
         //  We have to do better exception handling.
         throw new RuntimeException(e);
@@ -277,8 +275,7 @@ public class ManagedSstFileReader {
       }
     }
 
-    private boolean moveToNextFile() throws IOException, RocksDBException,
-        NativeLibraryNotLoadedException {
+    private boolean moveToNextFile() throws IOException, RocksDBException {
       if (fileNameIterator.hasNext()) {
         closeCurrentFile();
         currentFile = fileNameIterator.next();
diff --git 
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
 
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
index 72a8d4fdc2..58f341b74a 100644
--- 
a/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
+++ 
b/hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/OMConfigKeys.java
@@ -33,6 +33,10 @@ public final class OMConfigKeys {
       "ozone.om.snapshot.sst_dumptool.pool.size";
   public static final int
       OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_POOL_SIZE_DEFAULT = 1;
+
+  public static final String OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB =
+      "ozone.om.snapshot.load.native.lib";
+  public static final boolean OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB_DEFAULT = true;
   public static final String
       OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE =
       "ozone.om.snapshot.sst_dumptool.buffer.size";
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
index c34594cffe..2c0a564306 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/SnapshotDiffManager.java
@@ -289,28 +289,31 @@ public class SnapshotDiffManager implements AutoCloseable 
{
 
   private Optional<ManagedSSTDumpTool> initSSTDumpTool(
       final OzoneConfiguration conf) {
-    try {
-      int threadPoolSize = conf.getInt(
-              OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_POOL_SIZE,
-              OMConfigKeys
-                  .OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_POOL_SIZE_DEFAULT);
-      int bufferSize = (int) conf.getStorageSize(
-          OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE,
-          OMConfigKeys
-              .OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE_DEFAULT,
-              StorageUnit.BYTES);
-      this.sstDumpToolExecService = Optional.of(new ThreadPoolExecutor(0,
-              threadPoolSize, 60, TimeUnit.SECONDS,
-              new SynchronousQueue<>(), new ThreadFactoryBuilder()
-          .setNameFormat(ozoneManager.getThreadNamePrefix() +
-              "snapshot-diff-manager-sst-dump-tool-TID-%d")
-              .build(),
-              new ThreadPoolExecutor.DiscardPolicy()));
-      return Optional.of(new ManagedSSTDumpTool(sstDumpToolExecService.get(),
-          bufferSize));
-    } catch (NativeLibraryNotLoadedException e) {
-      this.sstDumpToolExecService.ifPresent(exec ->
-          closeExecutorService(exec, "SstDumpToolExecutor"));
+    if (conf.getBoolean(OMConfigKeys.OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB,
+        OMConfigKeys.OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB_DEFAULT)) {
+      try {
+        int threadPoolSize = conf.getInt(
+                OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_POOL_SIZE,
+                OMConfigKeys
+                    
.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_POOL_SIZE_DEFAULT);
+        int bufferSize = (int) conf.getStorageSize(
+            OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE,
+            OMConfigKeys
+                .OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE_DEFAULT,
+                StorageUnit.BYTES);
+        this.sstDumpToolExecService = Optional.of(new ThreadPoolExecutor(0,
+                threadPoolSize, 60, TimeUnit.SECONDS,
+                new SynchronousQueue<>(), new ThreadFactoryBuilder()
+            .setNameFormat(ozoneManager.getThreadNamePrefix() +
+                "snapshot-diff-manager-sst-dump-tool-TID-%d")
+                .build(),
+                new ThreadPoolExecutor.DiscardPolicy()));
+        return Optional.of(new ManagedSSTDumpTool(sstDumpToolExecService.get(),
+            bufferSize));
+      } catch (NativeLibraryNotLoadedException e) {
+        this.sstDumpToolExecService.ifPresent(exec ->
+            closeExecutorService(exec, "SstDumpToolExecutor"));
+      }
     }
     return Optional.empty();
   }
@@ -1057,40 +1060,10 @@ public class SnapshotDiffManager implements 
AutoCloseable {
       deltaFiles.addAll(getSSTFileListForSnapshot(fromSnapshot,
           tablesToLookUp));
     }
-
-    try {
-      addToObjectIdMap(fsTable,
-          tsTable,
-          deltaFiles,
-          !skipNativeDiff && sstDumpTool.isPresent(),
-          oldObjIdToKeyMap,
-          newObjIdToKeyMap,
-          objectIdToIsDirMap,
-          oldParentIds,
-          newParentIds,
-          tablePrefixes);
-    } catch (NativeLibraryNotLoadedException e) {
-      LOG.warn("SSTDumpTool load failure, retrying without it.", e);
-      try {
-        // Workaround to handle deletes if use of native rockDB for reading
-        // tombstone fails.
-        // TODO: [SNAPSHOT] Update Rocksdb SSTFileIterator to read tombstone
-        deltaFiles.addAll(getSSTFileListForSnapshot(
-            fromSnapshot, tablesToLookUp));
-        addToObjectIdMap(fsTable,
-            tsTable,
-            deltaFiles,
-            false,
-            oldObjIdToKeyMap,
-            newObjIdToKeyMap,
-            objectIdToIsDirMap,
-            oldParentIds,
-            newParentIds,
-            tablePrefixes);
-      } catch (NativeLibraryNotLoadedException ex) {
-        throw new IllegalStateException(ex);
-      }
-    }
+    addToObjectIdMap(fsTable, tsTable, deltaFiles,
+        !skipNativeDiff && sstDumpTool.isPresent(),
+        oldObjIdToKeyMap, newObjIdToKeyMap, objectIdToIsDirMap, oldParentIds,
+        newParentIds, tablePrefixes);
   }
 
   @VisibleForTesting
@@ -1103,8 +1076,7 @@ public class SnapshotDiffManager implements AutoCloseable 
{
       PersistentMap<byte[], Boolean> objectIdToIsDirMap,
       Optional<Set<Long>> oldParentIds,
       Optional<Set<Long>> newParentIds,
-      Map<String, String> tablePrefixes) throws IOException,
-      NativeLibraryNotLoadedException, RocksDBException {
+      Map<String, String> tablePrefixes) throws IOException, RocksDBException {
     if (deltaFiles.isEmpty()) {
       return;
     }
diff --git 
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotDiffManager.java
 
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotDiffManager.java
index 41b6f73d8c..5229ea46fb 100644
--- 
a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotDiffManager.java
+++ 
b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestSnapshotDiffManager.java
@@ -28,7 +28,6 @@ import org.apache.hadoop.hdds.client.ECReplicationConfig;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.conf.StorageUnit;
 import org.apache.hadoop.hdds.utils.IOUtils;
-import org.apache.hadoop.hdds.utils.NativeLibraryNotLoadedException;
 import org.apache.hadoop.hdds.utils.db.CodecRegistry;
 import org.apache.hadoop.hdds.utils.db.RDBStore;
 import org.apache.hadoop.hdds.utils.db.RocksDatabase;
@@ -137,6 +136,8 @@ import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_DIFF_THR
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_DIFF_THREAD_POOL_SIZE_DEFAULT;
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_FORCE_FULL_DIFF;
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_FORCE_FULL_DIFF_DEFAULT;
+import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB;
+import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB_DEFAULT;
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE;
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE_DEFAULT;
 import static 
org.apache.hadoop.ozone.om.OMConfigKeys.OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_POOL_SIZE;
@@ -349,6 +350,9 @@ public class TestSnapshotDiffManager {
             OZONE_OM_SNAPSHOT_SST_DUMPTOOL_EXECUTOR_BUFFER_SIZE_DEFAULT,
             StorageUnit.BYTES))
         .thenReturn(FileUtils.ONE_KB_BI.doubleValue());
+    when(configuration.getBoolean(OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB,
+        OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB_DEFAULT))
+        .thenReturn(OZONE_OM_SNAPSHOT_LOAD_NATIVE_LIB_DEFAULT);
 
     for (int i = 0; i < jobStatuses.size(); i++) {
       when(snapshotInfoTable.get(getTableKey(VOLUME_NAME, BUCKET_NAME,
@@ -640,7 +644,7 @@ public class TestSnapshotDiffManager {
       "true," + OmMetadataManagerImpl.KEY_TABLE})
   public void testObjectIdMapWithTombstoneEntries(boolean nativeLibraryLoaded,
                                                   String snapshotTableName)
-      throws NativeLibraryNotLoadedException, IOException, RocksDBException {
+      throws IOException, RocksDBException {
     Set<String> keysIncludingTombstones = IntStream.range(0, 100)
         .boxed().map(i -> (i + 100) + "/key" + i).collect(Collectors.toSet());
     // Mocking SST file with keys in SST file excluding tombstones


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

Reply via email to