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]

Reply via email to