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

yihua pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new 5e63ead9277 [HUDI-9216] Fallback to spark.catalog.currentDatabase if 
tableConfig.databaseName is null or empty (#13026)
5e63ead9277 is described below

commit 5e63ead927777b0149cd6c93f55114ae7d7a8d3b
Author: Vinish Reddy <[email protected]>
AuthorDate: Wed Mar 26 05:42:54 2025 +0530

    [HUDI-9216] Fallback to spark.catalog.currentDatabase if 
tableConfig.databaseName is null or empty (#13026)
---
 .../src/main/scala/org/apache/hudi/HoodieFileIndex.scala       | 10 +++++++---
 .../scala/org/apache/spark/sql/hudi/TestHoodieFileIndex.scala  |  3 ++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git 
a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala
 
b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala
index 3d2f41872ee..a8c0dd87ec0 100644
--- 
a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala
+++ 
b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/HoodieFileIndex.scala
@@ -538,7 +538,7 @@ object HoodieFileIndex extends Logging {
       properties.setProperty(PARTITIONPATH_FIELD.key, 
HoodieTableConfig.getPartitionFieldPropForKeyGenerator(tableConfig).orElse(""))
 
       // for simple bucket index, we need to set the INDEX_TYPE, 
BUCKET_INDEX_HASH_FIELD, BUCKET_INDEX_NUM_BUCKETS
-      val database = getDatabaseName(tableConfig)
+      val database = getDatabaseName(tableConfig, 
spark.catalog.currentDatabase)
       val tableName = tableConfig.getTableName
 
       if (spark.catalog.tableExists(database, tableName)) {
@@ -615,9 +615,13 @@ object HoodieFileIndex extends Logging {
   }
 
   // if database name is not set, fall back to use 'default' instead of failing
-  def getDatabaseName(tableConfig: HoodieTableConfig)  = {
+  def getDatabaseName(tableConfig: HoodieTableConfig, defaultDatabase: String) 
 = {
     if (StringUtils.isNullOrEmpty(tableConfig.getDatabaseName)) {
-      "default"
+      if (StringUtils.isNullOrEmpty(defaultDatabase)) {
+        "default"
+      } else {
+        defaultDatabase
+      }
     } else {
       tableConfig.getDatabaseName
     }
diff --git 
a/hudi-spark-datasource/hudi-spark-common/src/test/scala/org/apache/spark/sql/hudi/TestHoodieFileIndex.scala
 
b/hudi-spark-datasource/hudi-spark-common/src/test/scala/org/apache/spark/sql/hudi/TestHoodieFileIndex.scala
index 52422cb439d..ab644b7aaea 100644
--- 
a/hudi-spark-datasource/hudi-spark-common/src/test/scala/org/apache/spark/sql/hudi/TestHoodieFileIndex.scala
+++ 
b/hudi-spark-datasource/hudi-spark-common/src/test/scala/org/apache/spark/sql/hudi/TestHoodieFileIndex.scala
@@ -28,6 +28,7 @@ import org.junit.jupiter.api.Test
 class TestHoodieFileIndex {
   @Test
   def testDefaultDatabaseName(): Unit = {
-    assertEquals(HoodieFileIndex.getDatabaseName(new HoodieTableConfig()), 
"default")
+    assertEquals("default", HoodieFileIndex.getDatabaseName(new 
HoodieTableConfig(), null))
+    assertEquals("default_db", HoodieFileIndex.getDatabaseName(new 
HoodieTableConfig(), "default_db"))
   }
 }

Reply via email to