This is an automated email from the ASF dual-hosted git repository.
hongze pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-gluten.git
The following commit(s) were added to refs/heads/main by this push:
new 30f301adb2 [CORE] Remove library unloading API from JniLibLoader as
unused (#9277)
30f301adb2 is described below
commit 30f301adb2b2596cac0fbf530a9ebe9430126bb4
Author: Hongze Zhang <[email protected]>
AuthorDate: Thu Apr 10 11:16:03 2025 +0100
[CORE] Remove library unloading API from JniLibLoader as unused (#9277)
---
.../backendsapi/clickhouse/CHListenerApi.scala | 4 +-
.../execution/benchmarks/CHSqlBasedBenchmark.scala | 4 --
.../backendsapi/velox/VeloxListenerApi.scala | 16 ++---
.../gluten/utils/SharedLibraryLoaderCentos7.scala | 37 +++++-----
.../gluten/utils/SharedLibraryLoaderCentos8.scala | 45 ++++++------
.../gluten/utils/SharedLibraryLoaderCentos9.scala | 45 ++++++------
.../gluten/utils/SharedLibraryLoaderDebian11.scala | 48 ++++++-------
.../gluten/utils/SharedLibraryLoaderDebian12.scala | 60 ++++++++--------
.../utils/SharedLibraryLoaderUbuntu2004.scala | 80 +++++++++++-----------
.../utils/SharedLibraryLoaderUbuntu2204.scala | 50 +++++++-------
.../java/org/apache/gluten/jni/JniLibLoader.java | 78 +++------------------
.../benchmarks/ParquetReadBenchmark.scala | 4 --
.../benchmarks/ParquetReadBenchmark.scala | 4 --
.../benchmarks/ParquetReadBenchmark.scala | 4 --
.../benchmarks/ParquetReadBenchmark.scala | 4 --
15 files changed, 193 insertions(+), 290 deletions(-)
diff --git
a/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHListenerApi.scala
b/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHListenerApi.scala
index 52e0faed32..5e62126ff8 100644
---
a/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHListenerApi.scala
+++
b/backends-clickhouse/src/main/scala/org/apache/gluten/backendsapi/clickhouse/CHListenerApi.scala
@@ -82,10 +82,10 @@ class CHListenerApi extends ListenerApi with Logging {
"Please set spark.gluten.sql.columnar.libpath to enable clickhouse
backend")
}
if (isDriver) {
- JniLibLoader.loadFromPath(libPath, true)
+ JniLibLoader.loadFromPath(libPath)
} else {
val executorLibPath =
conf.get(GlutenConfig.GLUTEN_EXECUTOR_LIB_PATH.key, libPath)
- JniLibLoader.loadFromPath(executorLibPath, true)
+ JniLibLoader.loadFromPath(executorLibPath)
}
CHListenerApi.addShutdownHook
// Add configs
diff --git
a/backends-clickhouse/src/test/scala/org/apache/spark/sql/execution/benchmarks/CHSqlBasedBenchmark.scala
b/backends-clickhouse/src/test/scala/org/apache/spark/sql/execution/benchmarks/CHSqlBasedBenchmark.scala
index 2a9a2b233a..76bcb552fc 100644
---
a/backends-clickhouse/src/test/scala/org/apache/spark/sql/execution/benchmarks/CHSqlBasedBenchmark.scala
+++
b/backends-clickhouse/src/test/scala/org/apache/spark/sql/execution/benchmarks/CHSqlBasedBenchmark.scala
@@ -16,9 +16,6 @@
*/
package org.apache.spark.sql.execution.benchmarks
-import org.apache.gluten.config.GlutenConfig
-import org.apache.gluten.jni.JniLibLoader
-
import org.apache.spark.SparkConf
import org.apache.spark.sql.delta.DeltaLog
import org.apache.spark.sql.execution.benchmark.SqlBasedBenchmark
@@ -55,7 +52,6 @@ trait CHSqlBasedBenchmark extends SqlBasedBenchmark {
override def afterAll(): Unit = {
DeltaLog.clearCache()
-
JniLibLoader.unloadFromPath(spark.conf.get(GlutenConfig.GLUTEN_LIB_PATH.key))
// Wait for Ctrl+C, convenient for seeing Spark UI
// Thread.sleep(600000)
super.afterAll()
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxListenerApi.scala
b/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxListenerApi.scala
index 109f3015a6..6f981613c5 100644
---
a/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxListenerApi.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/backendsapi/velox/VeloxListenerApi.scala
@@ -41,7 +41,7 @@ import
org.apache.spark.sql.execution.datasources.GlutenWriterColumnarRules
import
org.apache.spark.sql.execution.datasources.velox.{VeloxParquetWriterInjects,
VeloxRowSplitter}
import org.apache.spark.sql.expression.UDFResolver
import org.apache.spark.sql.internal.{GlutenConfigUtil, StaticSQLConf}
-import org.apache.spark.util.{SparkDirectoryUtil, SparkResourceUtil,
SparkShutdownManagerUtil}
+import org.apache.spark.util.{SparkDirectoryUtil, SparkResourceUtil}
import org.apache.commons.lang3.StringUtils
@@ -149,7 +149,6 @@ class VeloxListenerApi extends ListenerApi with Logging {
override def onExecutorShutdown(): Unit = shutdown()
private def initialize(conf: SparkConf, isDriver: Boolean): Unit = {
- addShutdownHook
// Sets this configuration only once, since not undoable.
// DebugInstance should be created first.
if (conf.getBoolean(GlutenConfig.DEBUG_KEEP_JNI_WORKSPACE.key,
defaultValue = false)) {
@@ -201,11 +200,11 @@ class VeloxListenerApi extends ListenerApi with Logging {
// Load backend libraries.
val libPath = conf.get(GlutenConfig.GLUTEN_LIB_PATH.key, StringUtils.EMPTY)
if (StringUtils.isNotBlank(libPath)) { // Path based load. Ignore all
other loadees.
- JniLibLoader.loadFromPath(libPath, false)
+ JniLibLoader.loadFromPath(libPath)
} else {
val baseLibName = conf.get(GlutenConfig.GLUTEN_LIB_NAME.key, "gluten")
- loader.load(s"$platformLibDir/${System.mapLibraryName(baseLibName)}",
false)
-
loader.load(s"$platformLibDir/${System.mapLibraryName(VeloxBackend.BACKEND_NAME)}",
false)
+ loader.load(s"$platformLibDir/${System.mapLibraryName(baseLibName)}")
+
loader.load(s"$platformLibDir/${System.mapLibraryName(VeloxBackend.BACKEND_NAME)}")
}
// Initial native backend with configurations.
@@ -251,11 +250,4 @@ object VeloxListenerApi {
private def inLocalMode(conf: SparkConf): Boolean = {
SparkResourceUtil.isLocalMaster(conf)
}
-
- private def addShutdownHook: Unit = {
- SparkShutdownManagerUtil.addHookForLibUnloading(
- () => {
- JniLibLoader.forceUnloadAll
- })
- }
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos7.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos7.scala
index b9d90d589c..56badac907 100755
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos7.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos7.scala
@@ -20,25 +20,22 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderCentos7 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libboost_atomic.so.1.84.0",
"libboost_atomic.so", false)
- loader.loadAndCreateLink("libboost_thread.so.1.84.0",
"libboost_thread.so", false)
- loader.loadAndCreateLink("libboost_system.so.1.84.0",
"libboost_system.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink(
- "libboost_program_options.so.1.84.0",
- "libboost_program_options.so",
- false)
- loader.loadAndCreateLink("libboost_filesystem.so.1.84.0",
"libboost_filesystem.so", false)
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libdouble-conversion.so.1",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libevent-2.0.so.5", "libevent-2.0.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libglog.so.0", "libglog.so", false)
- loader.loadAndCreateLink("libntlm.so.0", "libntlm.so", false)
- loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
- loader.loadAndCreateLink("libre2.so.10", "libre2.so", false)
- loader.loadAndCreateLink("libzstd.so.1", "libzstd.so", false)
- loader.loadAndCreateLink("liblz4.so.1", "liblz4.so", false)
+ loader.loadAndCreateLink("libboost_atomic.so.1.84.0", "libboost_atomic.so")
+ loader.loadAndCreateLink("libboost_thread.so.1.84.0", "libboost_thread.so")
+ loader.loadAndCreateLink("libboost_system.so.1.84.0", "libboost_system.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libboost_program_options.so.1.84.0",
"libboost_program_options.so")
+ loader.loadAndCreateLink("libboost_filesystem.so.1.84.0",
"libboost_filesystem.so")
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.1",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libevent-2.0.so.5", "libevent-2.0.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libglog.so.0", "libglog.so")
+ loader.loadAndCreateLink("libntlm.so.0", "libntlm.so")
+ loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
+ loader.loadAndCreateLink("libre2.so.10", "libre2.so")
+ loader.loadAndCreateLink("libzstd.so.1", "libzstd.so")
+ loader.loadAndCreateLink("liblz4.so.1", "liblz4.so")
}
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos8.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos8.scala
index dbb7d59f88..d049b73cc3 100755
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos8.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos8.scala
@@ -20,29 +20,26 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderCentos8 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libboost_atomic.so.1.84.0",
"libboost_atomic.so", false)
- loader.loadAndCreateLink("libboost_thread.so.1.84.0",
"libboost_thread.so", false)
- loader.loadAndCreateLink("libboost_system.so.1.84.0",
"libboost_system.so", false)
- loader.loadAndCreateLink("libicudata.so.60", "libicudata.so", false)
- loader.loadAndCreateLink("libicuuc.so.60", "libicuuc.so", false)
- loader.loadAndCreateLink("libicui18n.so.60", "libicui18n.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink(
- "libboost_program_options.so.1.84.0",
- "libboost_program_options.so",
- false)
- loader.loadAndCreateLink("libboost_filesystem.so.1.84.0",
"libboost_filesystem.so", false)
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libevent-2.1.so.6", "libevent-2.1.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libglog.so.1", "libglog.so", false)
- loader.loadAndCreateLink("libdwarf.so.1", "libdwarf.so", false)
- loader.loadAndCreateLink("libidn.so.11", "libidn.so", false)
- loader.loadAndCreateLink("libntlm.so.0", "libntlm.so", false)
- loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
- loader.loadAndCreateLink("libre2.so.0", "libre2.so", false)
- loader.loadAndCreateLink("libsodium.so.23", "libsodium.so", false)
+ loader.loadAndCreateLink("libboost_atomic.so.1.84.0", "libboost_atomic.so")
+ loader.loadAndCreateLink("libboost_thread.so.1.84.0", "libboost_thread.so")
+ loader.loadAndCreateLink("libboost_system.so.1.84.0", "libboost_system.so")
+ loader.loadAndCreateLink("libicudata.so.60", "libicudata.so")
+ loader.loadAndCreateLink("libicuuc.so.60", "libicuuc.so")
+ loader.loadAndCreateLink("libicui18n.so.60", "libicui18n.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libboost_program_options.so.1.84.0",
"libboost_program_options.so")
+ loader.loadAndCreateLink("libboost_filesystem.so.1.84.0",
"libboost_filesystem.so")
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libevent-2.1.so.6", "libevent-2.1.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libglog.so.1", "libglog.so")
+ loader.loadAndCreateLink("libdwarf.so.1", "libdwarf.so")
+ loader.loadAndCreateLink("libidn.so.11", "libidn.so")
+ loader.loadAndCreateLink("libntlm.so.0", "libntlm.so")
+ loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
+ loader.loadAndCreateLink("libre2.so.0", "libre2.so")
+ loader.loadAndCreateLink("libsodium.so.23", "libsodium.so")
}
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos9.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos9.scala
index f633a79f8f..fa50c2fcc6 100755
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos9.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderCentos9.scala
@@ -20,29 +20,26 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderCentos9 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libboost_atomic.so.1.84.0",
"libboost_atomic.so", false)
- loader.loadAndCreateLink("libboost_thread.so.1.84.0",
"libboost_thread.so", false)
- loader.loadAndCreateLink("libboost_system.so.1.84.0",
"libboost_system.so", false)
- loader.loadAndCreateLink("libicudata.so.67", "libicudata.so", false)
- loader.loadAndCreateLink("libicuuc.so.67", "libicuuc.so", false)
- loader.loadAndCreateLink("libicui18n.so.67", "libicui18n.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink(
- "libboost_program_options.so.1.84.0",
- "libboost_program_options.so",
- false)
- loader.loadAndCreateLink("libboost_filesystem.so.1.84.0",
"libboost_filesystem.so", false)
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libglog.so.1", "libglog.so", false)
- loader.loadAndCreateLink("libdwarf.so.0", "libdwarf.so", false)
- loader.loadAndCreateLink("libidn.so.12", "libidn.so", false)
- loader.loadAndCreateLink("libntlm.so.0", "libntlm.so", false)
- loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
- loader.loadAndCreateLink("libre2.so.9", "libre2.so", false)
- loader.loadAndCreateLink("libsodium.so.23", "libsodium.so", false)
+ loader.loadAndCreateLink("libboost_atomic.so.1.84.0", "libboost_atomic.so")
+ loader.loadAndCreateLink("libboost_thread.so.1.84.0", "libboost_thread.so")
+ loader.loadAndCreateLink("libboost_system.so.1.84.0", "libboost_system.so")
+ loader.loadAndCreateLink("libicudata.so.67", "libicudata.so")
+ loader.loadAndCreateLink("libicuuc.so.67", "libicuuc.so")
+ loader.loadAndCreateLink("libicui18n.so.67", "libicui18n.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libboost_program_options.so.1.84.0",
"libboost_program_options.so")
+ loader.loadAndCreateLink("libboost_filesystem.so.1.84.0",
"libboost_filesystem.so")
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libglog.so.1", "libglog.so")
+ loader.loadAndCreateLink("libdwarf.so.0", "libdwarf.so")
+ loader.loadAndCreateLink("libidn.so.12", "libidn.so")
+ loader.loadAndCreateLink("libntlm.so.0", "libntlm.so")
+ loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
+ loader.loadAndCreateLink("libre2.so.9", "libre2.so")
+ loader.loadAndCreateLink("libsodium.so.23", "libsodium.so")
}
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian11.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian11.scala
index 4f9b6fdd72..611ca9091f 100644
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian11.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian11.scala
@@ -20,29 +20,29 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderDebian11 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libicudata.so.67", "libicudata.so", false)
- loader.loadAndCreateLink("libre2.so.9", "libre2.so", false)
- loader.loadAndCreateLink("libicuuc.so.67", "libicuuc.so", false)
- loader.loadAndCreateLink("liblber-2.4.so.2", "liblber-2.4.so", false)
- loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so", false)
- loader.loadAndCreateLink("libbrotlicommon.so.1", "libbrotlicommon.so",
false)
- loader.loadAndCreateLink("libicui18n.so.67", "libicui18n.so", false)
- loader.loadAndCreateLink("libunwind.so.8", "libunwind.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so", false)
- loader.loadAndCreateLink("librtmp.so.1", "librtmp.so", false)
- loader.loadAndCreateLink("libssh2.so.1", "libssh2.so", false)
- loader.loadAndCreateLink("libpsl.so.5", "libpsl.so", false)
- loader.loadAndCreateLink("libldap_r-2.4.so.2", "libldap_r-2.4.so", false)
- loader.loadAndCreateLink("libbrotlidec.so.1", "libbrotlidec.so", false)
- loader.loadAndCreateLink("libthrift-0.13.0.so", "libthrift.so", false)
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libglog.so.0", "libglog.so", false)
- loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so", false)
- loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so", false)
- loader.loadAndCreateLink("libcurl.so.4", "libcurl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
+ loader.loadAndCreateLink("libicudata.so.67", "libicudata.so")
+ loader.loadAndCreateLink("libre2.so.9", "libre2.so")
+ loader.loadAndCreateLink("libicuuc.so.67", "libicuuc.so")
+ loader.loadAndCreateLink("liblber-2.4.so.2", "liblber-2.4.so")
+ loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so")
+ loader.loadAndCreateLink("libbrotlicommon.so.1", "libbrotlicommon.so")
+ loader.loadAndCreateLink("libicui18n.so.67", "libicui18n.so")
+ loader.loadAndCreateLink("libunwind.so.8", "libunwind.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so")
+ loader.loadAndCreateLink("librtmp.so.1", "librtmp.so")
+ loader.loadAndCreateLink("libssh2.so.1", "libssh2.so")
+ loader.loadAndCreateLink("libpsl.so.5", "libpsl.so")
+ loader.loadAndCreateLink("libldap_r-2.4.so.2", "libldap_r-2.4.so")
+ loader.loadAndCreateLink("libbrotlidec.so.1", "libbrotlidec.so")
+ loader.loadAndCreateLink("libthrift-0.13.0.so", "libthrift.so")
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libglog.so.0", "libglog.so")
+ loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so")
+ loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so")
+ loader.loadAndCreateLink("libcurl.so.4", "libcurl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
}
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian12.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian12.scala
index e3967eea32..9f7650ed1f 100644
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian12.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderDebian12.scala
@@ -20,35 +20,35 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderDebian12 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libcrypto.so.3", "libcrypto.so", false)
- loader.loadAndCreateLink("libkrb5support.so.0", "libkrb5support.so", false)
- loader.loadAndCreateLink("libssl.so.3", "libssl.so", false)
- loader.loadAndCreateLink("libicudata.so.72", "libicudata.so", false)
- loader.loadAndCreateLink("libk5crypto.so.3", "libk5crypto.so", false)
- loader.loadAndCreateLink("libkeyutils.so.1", "libkeyutils.so", false)
- loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so", false)
- loader.loadAndCreateLink("libthrift-0.17.0.so", "libthrift.so", false)
- loader.loadAndCreateLink("libicuuc.so.72", "libicuuc.so", false)
- loader.loadAndCreateLink("libkrb5.so.3", "libkrb5.so", false)
- loader.loadAndCreateLink("liblber-2.5.so.0", "liblber-2.4.so", false)
- loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so", false)
- loader.loadAndCreateLink("libbrotlicommon.so.1", "libbrotlicommon.so",
false)
- loader.loadAndCreateLink("libicui18n.so.72", "libicui18n.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libunwind.so.8", "libunwind.so", false)
- loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so", false)
- loader.loadAndCreateLink("librtmp.so.1", "librtmp.so", false)
- loader.loadAndCreateLink("libssh2.so.1", "libssh2.so", false)
- loader.loadAndCreateLink("libpsl.so.5", "libpsl.so", false)
- loader.loadAndCreateLink("libgssapi_krb5.so.2", "libgssapi_krb5.so", false)
- loader.loadAndCreateLink("libldap-2.5.so.0", "libldap_r-2.4.so", false)
- loader.loadAndCreateLink("libbrotlidec.so.1", "libbrotlidec.so", false)
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libglog.so.1", "libglog.so", false)
- loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so", false)
- loader.loadAndCreateLink("libcurl.so.4", "libcurl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
+ loader.loadAndCreateLink("libcrypto.so.3", "libcrypto.so")
+ loader.loadAndCreateLink("libkrb5support.so.0", "libkrb5support.so")
+ loader.loadAndCreateLink("libssl.so.3", "libssl.so")
+ loader.loadAndCreateLink("libicudata.so.72", "libicudata.so")
+ loader.loadAndCreateLink("libk5crypto.so.3", "libk5crypto.so")
+ loader.loadAndCreateLink("libkeyutils.so.1", "libkeyutils.so")
+ loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so")
+ loader.loadAndCreateLink("libthrift-0.17.0.so", "libthrift.so")
+ loader.loadAndCreateLink("libicuuc.so.72", "libicuuc.so")
+ loader.loadAndCreateLink("libkrb5.so.3", "libkrb5.so")
+ loader.loadAndCreateLink("liblber-2.5.so.0", "liblber-2.4.so")
+ loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so")
+ loader.loadAndCreateLink("libbrotlicommon.so.1", "libbrotlicommon.so")
+ loader.loadAndCreateLink("libicui18n.so.72", "libicui18n.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libunwind.so.8", "libunwind.so")
+ loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so")
+ loader.loadAndCreateLink("librtmp.so.1", "librtmp.so")
+ loader.loadAndCreateLink("libssh2.so.1", "libssh2.so")
+ loader.loadAndCreateLink("libpsl.so.5", "libpsl.so")
+ loader.loadAndCreateLink("libgssapi_krb5.so.2", "libgssapi_krb5.so")
+ loader.loadAndCreateLink("libldap-2.5.so.0", "libldap_r-2.4.so")
+ loader.loadAndCreateLink("libbrotlidec.so.1", "libbrotlidec.so")
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libglog.so.1", "libglog.so")
+ loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so")
+ loader.loadAndCreateLink("libcurl.so.4", "libcurl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
}
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2004.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2004.scala
index 6d9271e9e3..6f463f3427 100755
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2004.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2004.scala
@@ -20,45 +20,45 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderUbuntu2004 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libroken.so.18", "libroken.so", false)
- loader.loadAndCreateLink("libasn1.so.8", "libasn1.so", false)
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink("libbrotlicommon.so.1", "libbrotlicommon.so",
false)
- loader.loadAndCreateLink("libbrotlidec.so.1", "libbrotlidec.so", false)
- loader.loadAndCreateLink("libpsl.so.5", "libpsl.so", false)
- loader.loadAndCreateLink("libcrypto.so.1.1", "libcrypto.so", false)
- loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so", false)
- loader.loadAndCreateLink("libnettle.so.7", "libnettle.so", false)
- loader.loadAndCreateLink("libhogweed.so.5", "libhogweed.so", false)
- loader.loadAndCreateLink("librtmp.so.1", "librtmp.so", false)
- loader.loadAndCreateLink("libssh.so.4", "libssh.so", false)
- loader.loadAndCreateLink("libssl.so.1.1", "libssl.so", false)
- loader.loadAndCreateLink("liblber-2.4.so.2", "liblber-2.4.so", false)
- loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so", false)
- loader.loadAndCreateLink("libwind.so.0", "libwind.so", false)
- loader.loadAndCreateLink("libheimbase.so.1", "libheimbase.so", false)
- loader.loadAndCreateLink("libhcrypto.so.4", "libhcrypto.so", false)
- loader.loadAndCreateLink("libhx509.so.5", "libhx509.so", false)
- loader.loadAndCreateLink("libkrb5.so.26", "libkrb5.so", false)
- loader.loadAndCreateLink("libheimntlm.so.0", "libheimntlm.so", false)
- loader.loadAndCreateLink("libgssapi.so.3", "libgssapi.so", false)
- loader.loadAndCreateLink("libldap_r-2.4.so.2", "libldap_r-2.4.so", false)
- loader.loadAndCreateLink("libcurl.so.4", "libcurl.so", false)
- loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libunwind.so.8", "libunwind.so", false)
- loader.loadAndCreateLink("libglog.so.0", "libglog.so", false)
- loader.loadAndCreateLink("libidn.so.11", "libidn.so", false)
- loader.loadAndCreateLink("libntlm.so.0", "libntlm.so", false)
- loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
- loader.loadAndCreateLink("libicudata.so.66", "libicudata.so", false)
- loader.loadAndCreateLink("libicuuc.so.66", "libicuuc.so", false)
- loader.loadAndCreateLink("libxml2.so.2", "libxml2.so", false)
- loader.loadAndCreateLink("libre2.so.5", "libre2.so", false)
- loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so", false)
- loader.loadAndCreateLink("libthrift-0.13.0.so", "libthrift.so", false)
+ loader.loadAndCreateLink("libroken.so.18", "libroken.so")
+ loader.loadAndCreateLink("libasn1.so.8", "libasn1.so")
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libbrotlicommon.so.1", "libbrotlicommon.so")
+ loader.loadAndCreateLink("libbrotlidec.so.1", "libbrotlidec.so")
+ loader.loadAndCreateLink("libpsl.so.5", "libpsl.so")
+ loader.loadAndCreateLink("libcrypto.so.1.1", "libcrypto.so")
+ loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so")
+ loader.loadAndCreateLink("libnettle.so.7", "libnettle.so")
+ loader.loadAndCreateLink("libhogweed.so.5", "libhogweed.so")
+ loader.loadAndCreateLink("librtmp.so.1", "librtmp.so")
+ loader.loadAndCreateLink("libssh.so.4", "libssh.so")
+ loader.loadAndCreateLink("libssl.so.1.1", "libssl.so")
+ loader.loadAndCreateLink("liblber-2.4.so.2", "liblber-2.4.so")
+ loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so")
+ loader.loadAndCreateLink("libwind.so.0", "libwind.so")
+ loader.loadAndCreateLink("libheimbase.so.1", "libheimbase.so")
+ loader.loadAndCreateLink("libhcrypto.so.4", "libhcrypto.so")
+ loader.loadAndCreateLink("libhx509.so.5", "libhx509.so")
+ loader.loadAndCreateLink("libkrb5.so.26", "libkrb5.so")
+ loader.loadAndCreateLink("libheimntlm.so.0", "libheimntlm.so")
+ loader.loadAndCreateLink("libgssapi.so.3", "libgssapi.so")
+ loader.loadAndCreateLink("libldap_r-2.4.so.2", "libldap_r-2.4.so")
+ loader.loadAndCreateLink("libcurl.so.4", "libcurl.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libunwind.so.8", "libunwind.so")
+ loader.loadAndCreateLink("libglog.so.0", "libglog.so")
+ loader.loadAndCreateLink("libidn.so.11", "libidn.so")
+ loader.loadAndCreateLink("libntlm.so.0", "libntlm.so")
+ loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
+ loader.loadAndCreateLink("libicudata.so.66", "libicudata.so")
+ loader.loadAndCreateLink("libicuuc.so.66", "libicuuc.so")
+ loader.loadAndCreateLink("libxml2.so.2", "libxml2.so")
+ loader.loadAndCreateLink("libre2.so.5", "libre2.so")
+ loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so")
+ loader.loadAndCreateLink("libthrift-0.13.0.so", "libthrift.so")
}
}
diff --git
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2204.scala
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2204.scala
index 95f7db5655..029ddf45fa 100755
---
a/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2204.scala
+++
b/backends-velox/src/main/scala/org/apache/gluten/utils/SharedLibraryLoaderUbuntu2204.scala
@@ -20,30 +20,30 @@ import org.apache.gluten.jni.JniLibLoader
class SharedLibraryLoaderUbuntu2204 extends SharedLibraryLoader {
override def loadLib(loader: JniLibLoader): Unit = {
- loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so", false)
- loader.loadAndCreateLink("libicudata.so.70", "libicudata.so", false)
- loader.loadAndCreateLink("libicuuc.so.70", "libicuuc.so", false)
- loader.loadAndCreateLink("libicui18n.so.70", "libicui18n.so", false)
- loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so",
false)
- loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so", false)
- loader.loadAndCreateLink("librtmp.so.1", "librtmp.so", false)
- loader.loadAndCreateLink("libssh.so.4", "libssh.so", false)
- loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so", false)
- loader.loadAndCreateLink("liblber-2.5.so.0", "liblber-2.5.so", false)
- loader.loadAndCreateLink("libldap-2.5.so.0", "libldap-2.5.so", false)
- loader.loadAndCreateLink("libcurl.so.4", "libcurl.so", false)
- loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so", false)
- loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so", false)
- loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so", false)
- loader.loadAndCreateLink("libunwind.so.8", "libunwind.so", false)
- loader.loadAndCreateLink("libglog.so.0", "libglog.so", false)
- loader.loadAndCreateLink("libidn.so.12", "libidn.so", false)
- loader.loadAndCreateLink("libntlm.so.0", "libntlm.so", false)
- loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so", false)
- loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so", false)
- loader.loadAndCreateLink("libxml2.so.2", "libxml2.so", false)
- loader.loadAndCreateLink("libre2.so.9", "libre2.so", false)
- loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so", false)
- loader.loadAndCreateLink("libthrift-0.16.0.so", "libthrift.so", false)
+ loader.loadAndCreateLink("libboost_context.so.1.84.0",
"libboost_context.so")
+ loader.loadAndCreateLink("libicudata.so.70", "libicudata.so")
+ loader.loadAndCreateLink("libicuuc.so.70", "libicuuc.so")
+ loader.loadAndCreateLink("libicui18n.so.70", "libicui18n.so")
+ loader.loadAndCreateLink("libboost_regex.so.1.84.0", "libboost_regex.so")
+ loader.loadAndCreateLink("libnghttp2.so.14", "libnghttp2.so")
+ loader.loadAndCreateLink("librtmp.so.1", "librtmp.so")
+ loader.loadAndCreateLink("libssh.so.4", "libssh.so")
+ loader.loadAndCreateLink("libsasl2.so.2", "libsasl2.so")
+ loader.loadAndCreateLink("liblber-2.5.so.0", "liblber-2.5.so")
+ loader.loadAndCreateLink("libldap-2.5.so.0", "libldap-2.5.so")
+ loader.loadAndCreateLink("libcurl.so.4", "libcurl.so")
+ loader.loadAndCreateLink("libdouble-conversion.so.3",
"libdouble-conversion.so")
+ loader.loadAndCreateLink("libevent-2.1.so.7", "libevent-2.1.so")
+ loader.loadAndCreateLink("libgflags.so.2.2", "libgflags.so")
+ loader.loadAndCreateLink("libunwind.so.8", "libunwind.so")
+ loader.loadAndCreateLink("libglog.so.0", "libglog.so")
+ loader.loadAndCreateLink("libidn.so.12", "libidn.so")
+ loader.loadAndCreateLink("libntlm.so.0", "libntlm.so")
+ loader.loadAndCreateLink("libgsasl.so.7", "libgsasl.so")
+ loader.loadAndCreateLink("libprotobuf.so.32", "libprotobuf.so")
+ loader.loadAndCreateLink("libxml2.so.2", "libxml2.so")
+ loader.loadAndCreateLink("libre2.so.9", "libre2.so")
+ loader.loadAndCreateLink("libsnappy.so.1", "libsnappy.so")
+ loader.loadAndCreateLink("libthrift-0.16.0.so", "libthrift.so")
}
}
diff --git a/gluten-core/src/main/java/org/apache/gluten/jni/JniLibLoader.java
b/gluten-core/src/main/java/org/apache/gluten/jni/JniLibLoader.java
index 72898823f5..00037cd228 100644
--- a/gluten-core/src/main/java/org/apache/gluten/jni/JniLibLoader.java
+++ b/gluten-core/src/main/java/org/apache/gluten/jni/JniLibLoader.java
@@ -25,25 +25,16 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
import java.util.Set;
-import java.util.Vector;
public class JniLibLoader {
private static final Logger LOG =
LoggerFactory.getLogger(JniLibLoader.class);
private static final Set<String> LOADED_LIBRARY_PATHS = new HashSet<>();
- private static final Set<String> REQUIRE_UNLOAD_LIBRARY_PATHS = new
LinkedHashSet<>();
private final String workDir;
private final Set<String> loadedLibraries = new HashSet<>();
@@ -52,13 +43,6 @@ public class JniLibLoader {
this.workDir = workDir;
}
- public static synchronized void forceUnloadAll() {
- List<String> loaded;
- loaded = new ArrayList<>(REQUIRE_UNLOAD_LIBRARY_PATHS);
- Collections.reverse(loaded); // use reversed order to unload
- loaded.forEach(JniLibLoader::unloadFromPath);
- }
-
private static String toRealPath(String libPath) {
String realPath = libPath;
try {
@@ -72,7 +56,7 @@ public class JniLibLoader {
}
}
- private static void loadFromPath0(String libPath, boolean requireUnload) {
+ private static void loadFromPath0(String libPath) {
libPath = toRealPath(libPath);
if (LOADED_LIBRARY_PATHS.contains(libPath)) {
LOG.debug("Library in path {} has already been loaded, skipping",
libPath);
@@ -81,66 +65,24 @@ public class JniLibLoader {
LOADED_LIBRARY_PATHS.add(libPath);
LOG.info("Library {} has been loaded using path-loading method",
libPath);
}
- if (requireUnload) {
- REQUIRE_UNLOAD_LIBRARY_PATHS.add(libPath);
- }
}
- public static synchronized void loadFromPath(String libPath, boolean
requireUnload) {
+ public static synchronized void loadFromPath(String libPath) {
final File file = new File(libPath);
if (!file.isFile() || !file.exists()) {
throw new GlutenException("library at path: " + libPath + " is not a
file or does not exist");
}
- loadFromPath0(file.getAbsolutePath(), requireUnload);
- }
-
- public static synchronized void unloadFromPath(String libPath) {
- if (!LOADED_LIBRARY_PATHS.remove(libPath)) {
- LOG.warn("Library {} was not loaded or already unloaded:", libPath);
- return;
- }
- LOG.info("Starting unload library path: {} ", libPath);
- REQUIRE_UNLOAD_LIBRARY_PATHS.remove(libPath);
- try {
- ClassLoader classLoader = JniLibLoader.class.getClassLoader();
- Field field = ClassLoader.class.getDeclaredField("nativeLibraries");
- field.setAccessible(true);
- Vector<Object> libs = (Vector<Object>) field.get(classLoader);
- Iterator<Object> it = libs.iterator();
- while (it.hasNext()) {
- Object object = it.next();
- Field[] fs = object.getClass().getDeclaredFields();
- for (int k = 0; k < fs.length; k++) {
- if (fs[k].getName().equals("name")) {
- fs[k].setAccessible(true);
- String verbosePath = fs[k].get(object).toString();
- File verboseFile = new File(verbosePath);
- String verboseFileName = verboseFile.getName();
- File libFile = new File(libPath);
- String libFileName = libFile.getName();
-
- if (verboseFileName.equals(libFileName)) {
- LOG.info("Finalizing library file: {}", libFileName);
- Method finalize =
object.getClass().getDeclaredMethod("finalize");
- finalize.setAccessible(true);
- finalize.invoke(object);
- }
- }
- }
- }
- } catch (Throwable th) {
- LOG.error("Unload native library error: ", th);
- }
+ loadFromPath0(file.getAbsolutePath());
}
- public synchronized void load(String libPath, boolean requireUnload) {
+ public synchronized void load(String libPath) {
try {
if (loadedLibraries.contains(libPath)) {
LOG.debug("Library {} has already been loaded, skipping", libPath);
return;
}
File file = moveToWorkDir(workDir, libPath);
- loadWithLink(file.getAbsolutePath(), null, requireUnload);
+ loadWithLink(file.getAbsolutePath(), null);
loadedLibraries.add(libPath);
LOG.info("Successfully loaded library {}", libPath);
} catch (IOException e) {
@@ -148,14 +90,13 @@ public class JniLibLoader {
}
}
- public synchronized void loadAndCreateLink(
- String libPath, String linkName, boolean requireUnload) {
+ public synchronized void loadAndCreateLink(String libPath, String linkName) {
try {
if (loadedLibraries.contains(libPath)) {
LOG.debug("Library {} has already been loaded, skipping", libPath);
}
File file = moveToWorkDir(workDir, libPath);
- loadWithLink(file.getAbsolutePath(), linkName, requireUnload);
+ loadWithLink(file.getAbsolutePath(), linkName);
loadedLibraries.add(libPath);
LOG.info("Successfully loaded library {}", libPath);
} catch (IOException e) {
@@ -186,9 +127,8 @@ public class JniLibLoader {
return temp;
}
- private void loadWithLink(String libPath, String linkName, boolean
requireUnload)
- throws IOException {
- loadFromPath0(libPath, requireUnload);
+ private void loadWithLink(String libPath, String linkName) throws
IOException {
+ loadFromPath0(libPath);
LOG.info("Library {} has been loaded", libPath);
if (linkName != null) {
Path target = Paths.get(libPath);
diff --git
a/gluten-ut/spark32/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
b/gluten-ut/spark32/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
index aa561f17f0..93aa0f2e7d 100644
---
a/gluten-ut/spark32/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
+++
b/gluten-ut/spark32/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
@@ -19,7 +19,6 @@ package org.apache.spark.sql.execution.benchmarks
import org.apache.gluten.config.GlutenConfig
import org.apache.gluten.execution.{FileSourceScanExecTransformer,
WholeStageTransformer}
import org.apache.gluten.extension.columnar.transition.Transitions
-import org.apache.gluten.jni.JniLibLoader
import org.apache.gluten.utils.BackendTestUtils
import org.apache.spark.SparkConf
@@ -223,9 +222,6 @@ object ParquetReadBenchmark extends SqlBasedBenchmark {
}
override def afterAll(): Unit = {
- if (BackendTestUtils.isCHBackendLoaded()) {
-
JniLibLoader.unloadFromPath(spark.conf.get(GlutenConfig.GLUTEN_LIB_PATH.key))
- }
super.afterAll()
}
}
diff --git
a/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
b/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
index 517f17bba9..8fc9ba8c9c 100644
---
a/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
+++
b/gluten-ut/spark33/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
@@ -19,7 +19,6 @@ package org.apache.spark.sql.execution.benchmarks
import org.apache.gluten.config.GlutenConfig
import org.apache.gluten.execution.{FileSourceScanExecTransformer,
WholeStageTransformer}
import org.apache.gluten.extension.columnar.transition.Transitions
-import org.apache.gluten.jni.JniLibLoader
import org.apache.gluten.utils.BackendTestUtils
import org.apache.spark.SparkConf
@@ -223,9 +222,6 @@ object ParquetReadBenchmark extends SqlBasedBenchmark {
}
override def afterAll(): Unit = {
- if (BackendTestUtils.isCHBackendLoaded()) {
-
JniLibLoader.unloadFromPath(spark.conf.get(GlutenConfig.GLUTEN_LIB_PATH.key))
- }
super.afterAll()
}
}
diff --git
a/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
b/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
index 62eb3ec8a3..e6e8124e02 100644
---
a/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
+++
b/gluten-ut/spark34/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
@@ -20,7 +20,6 @@ import org.apache.gluten.backendsapi.BackendsApiManager
import org.apache.gluten.config.GlutenConfig
import org.apache.gluten.execution.{FileSourceScanExecTransformer,
WholeStageTransformer}
import org.apache.gluten.extension.columnar.transition.Transitions
-import org.apache.gluten.jni.JniLibLoader
import org.apache.gluten.utils.BackendTestUtils
import org.apache.spark.SparkConf
@@ -225,9 +224,6 @@ object ParquetReadBenchmark extends SqlBasedBenchmark {
}
override def afterAll(): Unit = {
- if (BackendTestUtils.isCHBackendLoaded()) {
-
JniLibLoader.unloadFromPath(spark.conf.get(GlutenConfig.GLUTEN_LIB_PATH.key))
- }
super.afterAll()
}
}
diff --git
a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
index 517f17bba9..8fc9ba8c9c 100644
---
a/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
+++
b/gluten-ut/spark35/src/test/scala/org/apache/spark/sql/execution/benchmarks/ParquetReadBenchmark.scala
@@ -19,7 +19,6 @@ package org.apache.spark.sql.execution.benchmarks
import org.apache.gluten.config.GlutenConfig
import org.apache.gluten.execution.{FileSourceScanExecTransformer,
WholeStageTransformer}
import org.apache.gluten.extension.columnar.transition.Transitions
-import org.apache.gluten.jni.JniLibLoader
import org.apache.gluten.utils.BackendTestUtils
import org.apache.spark.SparkConf
@@ -223,9 +222,6 @@ object ParquetReadBenchmark extends SqlBasedBenchmark {
}
override def afterAll(): Unit = {
- if (BackendTestUtils.isCHBackendLoaded()) {
-
JniLibLoader.unloadFromPath(spark.conf.get(GlutenConfig.GLUTEN_LIB_PATH.key))
- }
super.afterAll()
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]