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 cc95ee3efb HDDS-11078. Remove usage of sun.misc.Signal (#7006)
cc95ee3efb is described below

commit cc95ee3efbd12584e41d9bd56581cfa38cfe8241
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Thu Aug 1 09:09:39 2024 +0200

    HDDS-11078. Remove usage of sun.misc.Signal (#7006)
---
 .../java/org/apache/hadoop/hdds/StringUtils.java   | 79 ----------------------
 .../apache/hadoop/ozone/HddsDatanodeService.java   |  3 +-
 hadoop-hdds/framework/pom.xml                      |  4 ++
 .../apache/hadoop/hdds/utils/HddsServerUtil.java   | 71 +++++++++++++++++++
 .../org/apache/hadoop/hdds/utils/SignalLogger.java | 35 ++++++----
 .../scm/server/StorageContainerManagerStarter.java |  4 +-
 hadoop-ozone/csi/pom.xml                           |  4 ++
 .../org/apache/hadoop/ozone/csi/CsiServer.java     |  4 +-
 hadoop-ozone/dist/src/main/license/bin/LICENSE.txt | 11 +++
 hadoop-ozone/dist/src/main/license/jar-report.txt  | 12 ++++
 .../hadoop/ozone/om/OzoneManagerStarter.java       |  4 +-
 .../org/apache/hadoop/ozone/recon/ReconServer.java |  3 +-
 .../java/org/apache/hadoop/ozone/s3/Gateway.java   |  3 +-
 pom.xml                                            |  6 ++
 14 files changed, 140 insertions(+), 103 deletions(-)

diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/StringUtils.java 
b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/StringUtils.java
index e7746d9d5c..cb10dab51d 100644
--- a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/StringUtils.java
+++ b/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/StringUtils.java
@@ -20,19 +20,9 @@ package org.apache.hadoop.hdds;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Map;
 
 import com.google.common.base.Preconditions;
-import org.apache.commons.lang3.SystemUtils;
-import org.apache.hadoop.hdds.conf.OzoneConfiguration;
-import org.apache.hadoop.hdds.utils.SignalLogger;
-import org.apache.hadoop.hdds.utils.VersionInfo;
-import org.apache.hadoop.net.NetUtils;
-import org.apache.hadoop.util.ShutdownHookManager;
 import org.apache.ratis.thirdparty.io.netty.buffer.Unpooled;
-import org.slf4j.Logger;
 
 /**
  * Simple utility class to collection string conversion methods.
@@ -44,11 +34,6 @@ public final class StringUtils {
 
   private static final Charset UTF8 = StandardCharsets.UTF_8;
 
-  /**
-   * Priority of the StringUtils shutdown hook.
-   */
-  private static final int SHUTDOWN_HOOK_PRIORITY = 0;
-
   /**
    * Decode a specific range of bytes of the given byte array to a string
    * using UTF8.
@@ -107,70 +92,6 @@ public final class StringUtils {
     return str.getBytes(UTF8);
   }
 
-  /**
-   * Return a message for logging.
-   * @param prefix prefix keyword for the message
-   * @param msg content of the message
-   * @return a message for logging
-   */
-  public static String toStartupShutdownString(String prefix, String... msg) {
-    StringBuilder b = new StringBuilder(prefix);
-    
b.append("\n/************************************************************");
-    for (String s : msg) {
-      b.append("\n").append(prefix).append(s);
-    }
-    
b.append("\n************************************************************/");
-    return b.toString();
-  }
-
-  public static void startupShutdownMessage(VersionInfo versionInfo,
-      Class<?> clazz, String[] args, Logger log, OzoneConfiguration conf) {
-    final String hostname = NetUtils.getHostname();
-    final String className = clazz.getSimpleName();
-
-    if (log.isInfoEnabled()) {
-      log.info(createStartupShutdownMessage(versionInfo, className, hostname,
-          args, HddsUtils.processForLogging(conf)));
-    }
-
-    if (SystemUtils.IS_OS_UNIX) {
-      try {
-        SignalLogger.INSTANCE.register(log);
-      } catch (Throwable t) {
-        log.warn("failed to register any UNIX signal loggers: ", t);
-      }
-    }
-    ShutdownHookManager.get().addShutdownHook(
-        () -> log.info(toStartupShutdownString("SHUTDOWN_MSG: ",
-            "Shutting down " + className + " at " + hostname)),
-        SHUTDOWN_HOOK_PRIORITY);
-
-  }
-
-  /**
-   * Generate the text for the startup/shutdown message of processes.
-   * @param className short name of the class
-   * @param hostname hostname
-   * @param args Command arguments
-   * @return a string to log.
-   */
-  public static String createStartupShutdownMessage(VersionInfo versionInfo,
-      String className, String hostname, String[] args,
-      Map<String, String> conf) {
-    return toStartupShutdownString("STARTUP_MSG: ",
-        "Starting " + className,
-        "  host = " + hostname,
-        "  args = " + (args != null ? Arrays.asList(args) : new ArrayList<>()),
-        "  version = " + versionInfo.getVersion(),
-        "  classpath = " + System.getProperty("java.class.path"),
-        "  build = " + versionInfo.getUrl() + "/"
-            + versionInfo.getRevision()
-            + " ; compiled by '" + versionInfo.getUser()
-            + "' on " + versionInfo.getDate(),
-        "  java = " + System.getProperty("java.version"),
-        "  conf = " + conf);
-  }
-
   public static String appendIfNotPresent(String str, char c) {
     Preconditions.checkNotNull(str, "Input string is null");
     return str.isEmpty() || str.charAt(str.length() - 1) != c ? str + c : str;
diff --git 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
index 55125e5fb3..02c6160545 100644
--- 
a/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
+++ 
b/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/HddsDatanodeService.java
@@ -33,7 +33,6 @@ import org.apache.hadoop.conf.Configurable;
 import org.apache.hadoop.hdds.DFSConfigKeysLegacy;
 import org.apache.hadoop.hdds.DatanodeVersion;
 import org.apache.hadoop.hdds.HddsUtils;
-import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.cli.GenericCli;
 import org.apache.hadoop.hdds.cli.HddsVersionProvider;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
@@ -172,7 +171,7 @@ public class HddsDatanodeService extends GenericCli 
implements ServicePlugin {
   public Void call() throws Exception {
     OzoneConfiguration configuration = createOzoneConfiguration();
     if (printBanner) {
-      StringUtils.startupShutdownMessage(HddsVersionInfo.HDDS_VERSION_INFO,
+      HddsServerUtil.startupShutdownMessage(HddsVersionInfo.HDDS_VERSION_INFO,
           HddsDatanodeService.class, args, LOG, configuration);
     }
     start(configuration);
diff --git a/hadoop-hdds/framework/pom.xml b/hadoop-hdds/framework/pom.xml
index ef988bbc49..5eb3d2071b 100644
--- a/hadoop-hdds/framework/pom.xml
+++ b/hadoop-hdds/framework/pom.xml
@@ -144,6 +144,10 @@ https://maven.apache.org/xsd/maven-4.0.0.xsd";>
       <groupId>com.fasterxml.jackson.datatype</groupId>
       <artifactId>jackson-datatype-jsr310</artifactId>
     </dependency>
+    <dependency>
+      <groupId>com.github.jnr</groupId>
+      <artifactId>jnr-posix</artifactId>
+    </dependency>
     <dependency>
       <groupId>org.apache.hadoop</groupId>
       <artifactId>hadoop-hdfs-client</artifactId>
diff --git 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
index 2b83c4d059..c45e772c24 100644
--- 
a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/HddsServerUtil.java
@@ -25,8 +25,10 @@ import java.net.InetSocketAddress;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.OptionalInt;
 import java.util.concurrent.TimeUnit;
@@ -39,8 +41,10 @@ import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveOutputStream;
 import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream;
 import org.apache.commons.compress.utils.IOUtils;
+import org.apache.commons.lang3.SystemUtils;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hdds.DFSConfigKeysLegacy;
+import org.apache.hadoop.hdds.HddsUtils;
 import org.apache.hadoop.hdds.conf.ConfigurationSource;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.protocol.SCMSecurityProtocol;
@@ -99,6 +103,7 @@ import static 
org.apache.hadoop.hdds.scm.ScmConfigKeys.OZONE_SCM_STALENODE_INTER
 import static org.apache.hadoop.hdds.server.ServerUtils.sanitizeUserArgs;
 import static 
org.apache.hadoop.ozone.OzoneConfigKeys.HDDS_DATANODE_CONTAINER_DB_DIR;
 
+import org.apache.hadoop.util.ShutdownHookManager;
 import org.rocksdb.RocksDBException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -111,6 +116,8 @@ public final class HddsServerUtil {
   private HddsServerUtil() {
   }
 
+  private static final int SHUTDOWN_HOOK_PRIORITY = 0;
+
   public static final String OZONE_RATIS_SNAPSHOT_COMPLETE_FLAG_NAME =
       "OZONE_RATIS_SNAPSHOT_COMPLETE";
 
@@ -678,4 +685,68 @@ public final class HddsServerUtil {
   public static void addSuppressedLoggingExceptions(RPC.Server server) {
     server.addSuppressedLoggingExceptions(ServerNotLeaderException.class);
   }
+
+  public static void startupShutdownMessage(VersionInfo versionInfo,
+      Class<?> clazz, String[] args, Logger log, OzoneConfiguration conf) {
+    final String hostname = NetUtils.getHostname();
+    final String className = clazz.getSimpleName();
+
+    if (log.isInfoEnabled()) {
+      log.info(createStartupShutdownMessage(versionInfo, className, hostname,
+          args, HddsUtils.processForLogging(conf)));
+    }
+
+    if (SystemUtils.IS_OS_UNIX) {
+      try {
+        SignalLogger.INSTANCE.register(log);
+      } catch (Throwable t) {
+        log.warn("failed to register any UNIX signal loggers: ", t);
+      }
+    }
+    ShutdownHookManager.get().addShutdownHook(
+        () -> log.info(toStartupShutdownString("SHUTDOWN_MSG: ",
+            "Shutting down " + className + " at " + hostname)),
+        SHUTDOWN_HOOK_PRIORITY);
+  }
+
+  /**
+   * Return a message for logging.
+   * @param prefix prefix keyword for the message
+   * @param msg content of the message
+   * @return a message for logging
+   */
+  public static String toStartupShutdownString(String prefix, String... msg) {
+    StringBuilder b = new StringBuilder(prefix);
+    
b.append("\n/************************************************************");
+    for (String s : msg) {
+      b.append("\n").append(prefix).append(s);
+    }
+    
b.append("\n************************************************************/");
+    return b.toString();
+  }
+
+  /**
+   * Generate the text for the startup/shutdown message of processes.
+   * @param className short name of the class
+   * @param hostname hostname
+   * @param args Command arguments
+   * @return a string to log.
+   */
+  public static String createStartupShutdownMessage(VersionInfo versionInfo,
+      String className, String hostname, String[] args,
+      Map<String, String> conf) {
+    return toStartupShutdownString("STARTUP_MSG: ",
+        "Starting " + className,
+        "  host = " + hostname,
+        "  args = " + (args != null ? Arrays.asList(args) : new ArrayList<>()),
+        "  version = " + versionInfo.getVersion(),
+        "  classpath = " + System.getProperty("java.class.path"),
+        "  build = " + versionInfo.getUrl() + "/"
+            + versionInfo.getRevision()
+            + " ; compiled by '" + versionInfo.getUser()
+            + "' on " + versionInfo.getDate(),
+        "  java = " + System.getProperty("java.version"),
+        "  conf = " + conf);
+  }
+
 }
diff --git 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java
 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java
similarity index 69%
rename from 
hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java
rename to 
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java
index 5782f806d5..df3839c470 100644
--- 
a/hadoop-hdds/common/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java
+++ 
b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/utils/SignalLogger.java
@@ -18,10 +18,17 @@
 
 package org.apache.hadoop.hdds.utils;
 
+import jnr.constants.platform.Signal;
+import jnr.posix.POSIX;
+import jnr.posix.POSIXFactory;
+import jnr.posix.SignalHandler;
 import org.apache.hadoop.hdds.annotation.InterfaceAudience;
 import org.apache.hadoop.hdds.annotation.InterfaceStability;
 import org.slf4j.Logger;
 
+import java.util.EnumSet;
+import java.util.Set;
+
 /**
  * This class logs a message whenever we're about to exit on a UNIX signal.
  * This is helpful for determining the root cause of a process' exit.
@@ -34,20 +41,25 @@ public enum SignalLogger {
 
   INSTANCE;
 
-  private static final String[] SIGNALS = new String[] {"TERM", "HUP", "INT"};
+  private static final Set<Signal> SIGNALS = EnumSet.of(Signal.SIGHUP, 
Signal.SIGINT, Signal.SIGTERM);
+
+  private static final POSIX POSIX_IMPL = POSIXFactory.getJavaPOSIX();
+
+  private static final SignalHandler DEFAULT_HANDLER = System::exit;
 
   private boolean registered = false;
 
   /**
    * Our signal handler.
    */
-  private static class Handler implements sun.misc.SignalHandler {
+  private static class Handler implements SignalHandler {
     private final Logger log;
-    private final sun.misc.SignalHandler prevHandler;
+    private final SignalHandler prevHandler;
 
-    Handler(String name, Logger log) {
+    Handler(Signal signal, Logger log) {
       this.log = log;
-      prevHandler = sun.misc.Signal.handle(new sun.misc.Signal(name), this);
+      SignalHandler handler = POSIX_IMPL.signal(signal, this);
+      prevHandler = handler != null ? handler : DEFAULT_HANDLER;
     }
 
     /**
@@ -56,9 +68,8 @@ public enum SignalLogger {
      * @param signal The incoming signal
      */
     @Override
-    public void handle(sun.misc.Signal signal) {
-      log.error("RECEIVED SIGNAL {}: SIG{}",
-          signal.getNumber(), signal.getName());
+    public void handle(int signal) {
+      log.error("RECEIVED SIGNAL {}: {}", signal, Signal.valueOf(signal));
       prevHandler.handle(signal);
     }
   }
@@ -76,13 +87,13 @@ public enum SignalLogger {
     StringBuilder bld = new StringBuilder();
     bld.append("registered UNIX signal handlers for [");
     String separator = "";
-    for (String signalName : SIGNALS) {
+    for (Signal signal : SIGNALS) {
       try {
-        new Handler(signalName, log);
-        bld.append(separator).append(signalName);
+        new Handler(signal, log);
+        bld.append(separator).append(signal.name());
         separator = ", ";
       } catch (Exception e) {
-        log.debug("", e);
+        log.info("Error installing UNIX signal handler for {}", signal, e);
       }
     }
     bld.append("]");
diff --git 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManagerStarter.java
 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManagerStarter.java
index 916578796f..e258c8ee66 100644
--- 
a/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManagerStarter.java
+++ 
b/hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/server/StorageContainerManagerStarter.java
@@ -21,11 +21,11 @@
  */
 package org.apache.hadoop.hdds.scm.server;
 
-import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.cli.GenericCli;
 import org.apache.hadoop.hdds.cli.HddsVersionProvider;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.tracing.TracingUtil;
+import org.apache.hadoop.hdds.utils.HddsServerUtil;
 import org.apache.hadoop.hdds.utils.HddsVersionInfo;
 import org.apache.hadoop.ozone.common.StorageInfo;
 import org.apache.hadoop.ozone.util.OzoneNetUtils;
@@ -155,7 +155,7 @@ public class StorageContainerManagerStarter extends 
GenericCli {
 
     String[] originalArgs = getCmd().getParseResult().originalArgs()
         .toArray(new String[0]);
-    StringUtils.startupShutdownMessage(HddsVersionInfo.HDDS_VERSION_INFO,
+    HddsServerUtil.startupShutdownMessage(HddsVersionInfo.HDDS_VERSION_INFO,
         StorageContainerManager.class, originalArgs, LOG, conf);
   }
 
diff --git a/hadoop-ozone/csi/pom.xml b/hadoop-ozone/csi/pom.xml
index dc6ca506ff..04c153f398 100644
--- a/hadoop-ozone/csi/pom.xml
+++ b/hadoop-ozone/csi/pom.xml
@@ -66,6 +66,10 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd";>
         </exclusion>
       </exclusions>
     </dependency>
+    <dependency>
+      <groupId>org.apache.ozone</groupId>
+      <artifactId>hdds-server-framework</artifactId>
+    </dependency>
     <dependency>
       <groupId>com.google.code.findbugs</groupId>
       <artifactId>jsr305</artifactId>
diff --git 
a/hadoop-ozone/csi/src/main/java/org/apache/hadoop/ozone/csi/CsiServer.java 
b/hadoop-ozone/csi/src/main/java/org/apache/hadoop/ozone/csi/CsiServer.java
index 3b0c8f3c20..dbafccf4fd 100644
--- a/hadoop-ozone/csi/src/main/java/org/apache/hadoop/ozone/csi/CsiServer.java
+++ b/hadoop-ozone/csi/src/main/java/org/apache/hadoop/ozone/csi/CsiServer.java
@@ -19,13 +19,13 @@ package org.apache.hadoop.ozone.csi;
 
 import java.util.concurrent.Callable;
 
-import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.cli.GenericCli;
 import org.apache.hadoop.hdds.cli.HddsVersionProvider;
 import org.apache.hadoop.hdds.conf.Config;
 import org.apache.hadoop.hdds.conf.ConfigGroup;
 import org.apache.hadoop.hdds.conf.ConfigTag;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
+import org.apache.hadoop.hdds.utils.HddsServerUtil;
 import org.apache.hadoop.ozone.client.OzoneClient;
 import org.apache.hadoop.ozone.client.OzoneClientFactory;
 import org.apache.hadoop.ozone.util.OzoneVersionInfo;
@@ -55,7 +55,7 @@ public class CsiServer extends GenericCli implements 
Callable<Void> {
     String[] originalArgs = getCmd().getParseResult().originalArgs()
             .toArray(new String[0]);
     OzoneConfiguration ozoneConfiguration = createOzoneConfiguration();
-    StringUtils.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
+    HddsServerUtil.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
             CsiServer.class, originalArgs, LOG, ozoneConfiguration);
     CsiConfig csiConfig = ozoneConfiguration.getObject(CsiConfig.class);
 
diff --git a/hadoop-ozone/dist/src/main/license/bin/LICENSE.txt 
b/hadoop-ozone/dist/src/main/license/bin/LICENSE.txt
index 2120c16e24..c28483c673 100644
--- a/hadoop-ozone/dist/src/main/license/bin/LICENSE.txt
+++ b/hadoop-ozone/dist/src/main/license/bin/LICENSE.txt
@@ -218,6 +218,7 @@ EDL 1.0
 EPL 2.0
 =====================
 
+   com.github.jnr:jnr-posix
    jakarta.annotation:jakarta.annotation-api
    jakarta.ws.rs:jakarta.ws.rs-api
    org.aspectj:aspectjrt
@@ -277,6 +278,10 @@ Apache License 2.0
    com.fasterxml.jackson.datatype:jackson-datatype-jsr310
    com.fasterxml.jackson.module:jackson-module-jaxb-annotations
    com.fasterxml.woodstox:woodstox-core
+   com.github.jnr:jnr-a64asm
+   com.github.jnr:jnr-constants
+   com.github.jnr:jnr-ffi
+   com.github.jnr:jffi
    com.github.stephenc.jcip:jcip-annotations
    com.google.android:annotations
    com.google.api.grpc:proto-google-common-protos
@@ -443,6 +448,7 @@ MIT
 =====================
 
    com.bettercloud:vault-java-driver
+   com.github.jnr:jnr-x86asm
    com.kstruct:gethostname4j
    org.bouncycastle:bcpkix-jdk18on
    org.bouncycastle:bcprov-jdk18on
@@ -469,6 +475,11 @@ BSD 3-Clause
    com.google.re2j:re2j
    com.jcraft:jsch
    com.thoughtworks.paranamer:paranamer
+   org.ow2.asm:asm
+   org.ow2.asm:asm-analysis
+   org.ow2.asm:asm-commons
+   org.ow2.asm:asm-tree
+   org.ow2.asm:asm-util
 
 
 BSD 2-Clause
diff --git a/hadoop-ozone/dist/src/main/license/jar-report.txt 
b/hadoop-ozone/dist/src/main/license/jar-report.txt
index 28f38213cd..042c9380e4 100644
--- a/hadoop-ozone/dist/src/main/license/jar-report.txt
+++ b/hadoop-ozone/dist/src/main/license/jar-report.txt
@@ -3,6 +3,11 @@ share/ozone/lib/annotations.jar
 share/ozone/lib/annotations.jar
 share/ozone/lib/aopalliance.jar
 share/ozone/lib/aopalliance-repackaged.jar
+share/ozone/lib/asm-analysis.jar
+share/ozone/lib/asm-commons.jar
+share/ozone/lib/asm.jar
+share/ozone/lib/asm-tree.jar
+share/ozone/lib/asm-util.jar
 share/ozone/lib/aspectjrt.jar
 share/ozone/lib/aspectjweaver.jar
 share/ozone/lib/aws-java-sdk-core.jar
@@ -139,6 +144,8 @@ share/ozone/lib/jetty-util-ajax.jar
 share/ozone/lib/jetty-util.jar
 share/ozone/lib/jetty-webapp.jar
 share/ozone/lib/jetty-xml.jar
+share/ozone/lib/jffi.jar
+share/ozone/lib/jffi-native.jar
 share/ozone/lib/jgrapht-core.jar
 share/ozone/lib/jgrapht-ext.jar
 share/ozone/lib/jgraphx.jar
@@ -146,6 +153,11 @@ share/ozone/lib/jheaps.jar
 share/ozone/lib/jmespath-java.jar
 share/ozone/lib/jna.jar
 share/ozone/lib/jna-platform.jar
+share/ozone/lib/jnr-a64asm.jar
+share/ozone/lib/jnr-constants.jar
+share/ozone/lib/jnr-ffi.jar
+share/ozone/lib/jnr-posix.jar
+share/ozone/lib/jnr-x86asm.jar
 share/ozone/lib/joda-time.jar
 share/ozone/lib/jooq-codegen.jar
 share/ozone/lib/jooq.jar
diff --git 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManagerStarter.java
 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManagerStarter.java
index b307873911..63617ee363 100644
--- 
a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManagerStarter.java
+++ 
b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OzoneManagerStarter.java
@@ -17,11 +17,11 @@
 
 package org.apache.hadoop.ozone.om;
 
-import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.cli.GenericCli;
 import org.apache.hadoop.hdds.cli.HddsVersionProvider;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import org.apache.hadoop.hdds.tracing.TracingUtil;
+import org.apache.hadoop.hdds.utils.HddsServerUtil;
 import org.apache.hadoop.ozone.util.OzoneNetUtils;
 import org.apache.hadoop.ozone.util.OzoneVersionInfo;
 import org.apache.hadoop.ozone.util.ShutdownHookManager;
@@ -172,7 +172,7 @@ public class OzoneManagerStarter extends GenericCli {
 
     String[] originalArgs = getCmd().getParseResult().originalArgs()
         .toArray(new String[0]);
-    StringUtils.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
+    HddsServerUtil.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
         OzoneManager.class, originalArgs, LOG, conf);
   }
 
diff --git 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconServer.java
 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconServer.java
index a079bfe508..3295eb4524 100644
--- 
a/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconServer.java
+++ 
b/hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/ReconServer.java
@@ -22,7 +22,6 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
 import org.apache.hadoop.hdds.HddsUtils;
-import org.apache.hadoop.hdds.StringUtils;
 import org.apache.hadoop.hdds.cli.GenericCli;
 import org.apache.hadoop.hdds.conf.OzoneConfiguration;
 import 
org.apache.hadoop.hdds.protocolPB.SCMSecurityProtocolClientSideTranslatorPB;
@@ -102,7 +101,7 @@ public class ReconServer extends GenericCli {
         .toArray(new String[0]);
 
     configuration = createOzoneConfiguration();
-    StringUtils.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
+    HddsServerUtil.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
             ReconServer.class, originalArgs, LOG, configuration);
     ConfigurationProvider.setConfiguration(configuration);
 
diff --git 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
index cfbcb51d26..86d25d1941 100644
--- 
a/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
+++ 
b/hadoop-ozone/s3gateway/src/main/java/org/apache/hadoop/ozone/s3/Gateway.java
@@ -38,7 +38,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import picocli.CommandLine.Command;
 
-import static org.apache.hadoop.hdds.StringUtils.startupShutdownMessage;
 import static org.apache.hadoop.hdds.ratis.RatisHelper.newJvmPauseMonitor;
 import static org.apache.hadoop.hdds.server.http.HttpServer2.setHttpBaseDir;
 import static 
org.apache.hadoop.ozone.conf.OzoneServiceConfig.DEFAULT_SHUTDOWN_HOOK_PRIORITY;
@@ -95,7 +94,7 @@ public class Gateway extends GenericCli {
   public void start() throws IOException {
     String[] originalArgs = getCmd().getParseResult().originalArgs()
         .toArray(new String[0]);
-    startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
+    HddsServerUtil.startupShutdownMessage(OzoneVersionInfo.OZONE_VERSION_INFO,
         Gateway.class, originalArgs, LOG, ozoneConfiguration);
 
     LOG.info("Starting Ozone S3 gateway");
diff --git a/pom.xml b/pom.xml
index 205f5591fa..e2c4bfe311 100644
--- a/pom.xml
+++ b/pom.xml
@@ -145,6 +145,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xs
     <activation-api.version>1.2.2</activation-api.version>
     <jaxb-api.version>2.3.3</jaxb-api.version>
     <jaxb-runtime.version>2.3.9</jaxb-runtime.version>
+    <jnr-posix.version>3.1.19</jnr-posix.version>
     <jsch.version>0.1.55</jsch.version>
     <cdi-api.version>2.0</cdi-api.version>
     <servlet-api.version>3.1.0</servlet-api.version>
@@ -479,6 +480,11 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xs
         <artifactId>commons-validator</artifactId>
         <version>${commons-validator.version}</version>
       </dependency>
+      <dependency>
+        <groupId>com.github.jnr</groupId>
+        <artifactId>jnr-posix</artifactId>
+        <version>${jnr-posix.version}</version>
+      </dependency>
       <dependency>
         <groupId>com.github.luben</groupId>
         <artifactId>zstd-jni</artifactId>


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

Reply via email to