This is an automated email from the ASF dual-hosted git repository.
philo 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 43ed4cce91 [GLUTEN-10736] Refactor SparkDirectoryUtil with
ConcurrentHashMap (#10737)
43ed4cce91 is described below
commit 43ed4cce91f062ef5123316c6ad59b097dce572c
Author: Jiaan Geng <[email protected]>
AuthorDate: Mon Sep 22 10:51:11 2025 +0800
[GLUTEN-10736] Refactor SparkDirectoryUtil with ConcurrentHashMap (#10737)
---
.../scala/org/apache/spark/util/SparkDirectoryUtil.scala | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
diff --git
a/gluten-core/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
b/gluten-core/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
index 24ce3e9290..24379853d3 100644
--- a/gluten-core/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
+++ b/gluten-core/src/main/scala/org/apache/spark/util/SparkDirectoryUtil.scala
@@ -26,6 +26,7 @@ import org.apache.commons.lang3.StringUtils
import java.io.{File, IOException}
import java.nio.file.Paths
+import java.util.concurrent.ConcurrentHashMap
/**
* Manages Gluten's local directories, for storing jars, libs, spill files, or
other temporary
@@ -53,17 +54,11 @@ class SparkDirectoryUtil private (val roots: Array[String])
extends Logging {
}
}
- private val NAMESPACE_MAPPING: java.util.Map[String, Namespace] = new
java.util.HashMap()
+ private val NAMESPACE_MAPPING: java.util.Map[String, Namespace] =
+ new ConcurrentHashMap[String, Namespace]
- def namespace(name: String): Namespace = synchronized {
- if (NAMESPACE_MAPPING.containsKey(name)) {
- return NAMESPACE_MAPPING.get(name)
- }
- // or create new
- val namespace = new Namespace(ROOTS, name)
- NAMESPACE_MAPPING.put(name, namespace)
- namespace
- }
+ def namespace(name: String): Namespace =
+ NAMESPACE_MAPPING.computeIfAbsent(name, (name: String) => new
Namespace(ROOTS, name))
}
object SparkDirectoryUtil extends Logging {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]