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

danny0405 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 398c9a23c84 [HUDI-7564] Revert hive sync inconsistency and reason for 
it (#10959)
398c9a23c84 is described below

commit 398c9a23c84a54aecfea8e6c7948f198785710c5
Author: voonhous <[email protected]>
AuthorDate: Thu Apr 4 08:41:39 2024 +0800

    [HUDI-7564] Revert hive sync inconsistency and reason for it (#10959)
---
 .../main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala   | 4 +++-
 .../src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java      | 3 ++-
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git 
a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
 
b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
index 734afd79252..dbac496022f 100644
--- 
a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
+++ 
b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/spark/sql/hudi/ProvidesHoodieConfig.scala
@@ -480,7 +480,9 @@ trait ProvidesHoodieConfig extends Logging {
       hiveSyncConfig.setValue(HoodieSyncConfig.META_SYNC_PARTITION_FIELDS, 
props.getString(HoodieSyncConfig.META_SYNC_PARTITION_FIELDS.key))
     }
     
hiveSyncConfig.setDefaultValue(HoodieSyncConfig.META_SYNC_PARTITION_EXTRACTOR_CLASS,
 classOf[MultiPartKeysValueExtractor].getName)
-    
hiveSyncConfig.setDefaultValue(HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE,
 HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE.defaultValue())
+    // This is hardcoded to true to ensure consistency as Spark syncs 
TIMESTAMP types as TIMESTAMP by default
+    // via Spark's externalCatalog API, which is used by 
AlterHoodieTableCommand.
+    
hiveSyncConfig.setDefaultValue(HiveSyncConfigHolder.HIVE_SUPPORT_TIMESTAMP_TYPE,
 "true")
     if (hiveSyncConfig.useBucketSync())
       hiveSyncConfig.setValue(HiveSyncConfigHolder.HIVE_SYNC_BUCKET_SYNC_SPEC,
         
HiveSyncConfig.getBucketSpec(props.getString(HoodieIndexConfig.BUCKET_INDEX_HASH_FIELD.key),
diff --git 
a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
 
b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
index 74cb90de020..8f31cae29bc 100644
--- 
a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
+++ 
b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveSyncConfigHolder.java
@@ -90,7 +90,8 @@ public class HiveSyncConfigHolder {
       .defaultValue("false")
       .markAdvanced()
       .withDocumentation("‘INT64’ with original type TIMESTAMP_MICROS is 
converted to hive ‘timestamp’ type. "
-          + "Disabled by default for backward compatibility.");
+          + "Disabled by default for backward compatibility. \n"
+          + "NOTE: On Spark entrypoints, this is defaulted to TRUE");
   public static final ConfigProperty<String> HIVE_TABLE_PROPERTIES = 
ConfigProperty
       .key("hoodie.datasource.hive_sync.table_properties")
       .noDefaultValue()

Reply via email to