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 79f1768e5ac [HUDI-7997] Fix hivesync to support promotion type 
correctly (#11642)
79f1768e5ac is described below

commit 79f1768e5ac9c37ce6e453dee0bfa08b13c2803d
Author: Nicolas Paris <nicolas.pa...@adevinta.com>
AuthorDate: Sat Jul 20 02:20:34 2024 +0200

    [HUDI-7997] Fix hivesync to support promotion type correctly (#11642)
---
 .../org/apache/hudi/hive/util/HiveSchemaUtil.java  | 23 ----------------------
 1 file changed, 23 deletions(-)

diff --git 
a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/HiveSchemaUtil.java
 
b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/HiveSchemaUtil.java
index f70b023d2a0..baf905094d4 100644
--- 
a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/HiveSchemaUtil.java
+++ 
b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/util/HiveSchemaUtil.java
@@ -112,12 +112,6 @@ public class HiveSchemaUtil {
         expectedType = expectedType.replaceAll("`", "");
 
         if (!tableColumnType.equalsIgnoreCase(expectedType)) {
-          // check for incremental queries, the schema type change is allowed 
as per evolution
-          // rules
-          if (!isSchemaTypeUpdateAllowed(tableColumnType, expectedType)) {
-            throw new HoodieHiveSyncException("Could not convert field Type 
from " + tableColumnType + " to "
-                + expectedType + " for field " + fieldName);
-          }
           schemaDiffBuilder.updateTableColumn(fieldName, 
getExpectedType(newTableSchema, tickSurroundedFieldName));
         }
       }
@@ -421,23 +415,6 @@ public class HiveSchemaUtil {
     return array.toString();
   }
 
-  public static boolean isSchemaTypeUpdateAllowed(String prevType, String 
newType) {
-    if (prevType == null || prevType.trim().isEmpty() || newType == null || 
newType.trim().isEmpty()) {
-      return false;
-    }
-    prevType = prevType.toLowerCase();
-    newType = newType.toLowerCase();
-    if (prevType.equals(newType)) {
-      return true;
-    } else if (prevType.equalsIgnoreCase(INT_TYPE_NAME) && 
newType.equalsIgnoreCase(BIGINT_TYPE_NAME)) {
-      return true;
-    } else if (prevType.equalsIgnoreCase(FLOAT_TYPE_NAME) && 
newType.equalsIgnoreCase(DOUBLE_TYPE_NAME)) {
-      return true;
-    } else {
-      return prevType.contains("struct") && 
newType.toLowerCase().contains("struct");
-    }
-  }
-
   public static String generateSchemaString(MessageType storageSchema) throws 
IOException {
     return generateSchemaString(storageSchema, Collections.EMPTY_LIST);
   }

Reply via email to