You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "pengzhiwei (Jira)" <ji...@apache.org> on 2021/06/17 03:50:00 UTC

[jira] [Created] (HUDI-2033) ClassCastException Throw When PreCombineField Is String Type

pengzhiwei created HUDI-2033:
--------------------------------

             Summary: ClassCastException Throw When PreCombineField Is String Type
                 Key: HUDI-2033
                 URL: https://issues.apache.org/jira/browse/HUDI-2033
             Project: Apache Hudi
          Issue Type: Bug
          Components: Spark Integration
            Reporter: pengzhiwei
             Fix For: 0.9.0


When the preCombineField is string type:

 
{code:java}
create table h0 (
  id int,
  name string,
  c string
) using hudi
options(
  primaryKey = 'id',
  preCombineField = 'c'
);


{code}
 

 

the follow exception throw out when execute merge into statement.

 
{code:java}
Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.avro.util.Utf8Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.apache.avro.util.Utf8 at org.apache.avro.util.Utf8.compareTo(Utf8.java:28) at org.apache.hudi.common.model.DefaultHoodieRecordPayload.needUpdatingPersistedRecord(DefaultHoodieRecordPayload.java:105) at org.apache.spark.sql.hudi.command.payload.ExpressionPayload.protected$needUpdatingPersistedRecord(ExpressionPayload.scala:98) at org.apache.spark.sql.hudi.command.payload.ExpressionPayload$$anonfun$combineAndGetUpdateValue$4.apply(ExpressionPayload.scala:98) at org.apache.spark.sql.hudi.command.payload.ExpressionPayload$$anonfun$combineAndGetUpdateValue$4.apply(ExpressionPayload.scala:88)
{code}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)