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"))
}
}