[ https://issues.apache.org/jira/browse/HUDI-4643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yue Zhang updated HUDI-4643: ---------------------------- Fix Version/s: 0.14.0 (was: 0.13.1) > MergeInto syntax WHEN MATCHED is optional but must be set > --------------------------------------------------------- > > Key: HUDI-4643 > URL: https://issues.apache.org/jira/browse/HUDI-4643 > Project: Apache Hudi > Issue Type: Bug > Components: spark-sql > Reporter: 董可伦 > Assignee: 董可伦 > Priority: Major > Labels: pull-request-available > Fix For: 0.14.0 > > > > {code:java} > spark.sql( > s""" > |create table $tableName ( > | id int, > | name string, > | price double, > | ts long, > | dt string > |) using hudi > | location '${tmp.getCanonicalPath}/$tableName' > | tblproperties ( > | primaryKey ='id', > | preCombineField = 'ts' > | ) > """.stripMargin) > // Insert data > spark.sql(s"insert into $tableName select 1, 'a1', 1, 10, '2022-08-18'") > spark.sql( > s""" > | merge into $tableName as t0 > | using ( > | select 1 as id, 'a1' as name, 11 as price, 110 as ts, '2022-08-19' as dt > union all > | select 2 as id, 'a2' as name, 10 as price, 100 as ts, '2022-08-18' as dt > | ) as s0 > | on t0.id = s0.id > | when not matched then insert * > """.stripMargin > ) > {code} > > {code:java} > 11493 [Executor task launch worker for task 65] ERROR > org.apache.hudi.table.action.commit.BaseSparkCommitActionExecutor - Error > upserting bucketType UPDATE for partition :0 > org.apache.hudi.exception.HoodieException: > org.apache.hudi.exception.HoodieException: > java.util.concurrent.ExecutionException: java.lang.AssertionError: assertion > failed: hoodie.payload.update.condition.assignments have not set > at > org.apache.hudi.table.action.commit.HoodieMergeHelper.runMerge(HoodieMergeHelper.java:149) > at > org.apache.hudi.table.action.commit.BaseSparkCommitActionExecutor.handleUpdateInternal(BaseSparkCommitActionExecutor.java:358) > at > org.apache.hudi.table.action.commit.BaseSparkCommitActionExecutor.handleUpdate(BaseSparkCommitActionExecutor.java:349) > at > org.apache.hudi.table.action.commit.BaseSparkCommitActionExecutor.handleUpsertPartition(BaseSparkCommitActionExecutor.java:322) > at > org.apache.hudi.table.action.commit.BaseSparkCommitActionExecutor.handleInsertPartition(BaseSparkCommitActionExecutor.java:335) > at > org.apache.hudi.table.action.commit.BaseSparkCommitActionExecutor.lambda$mapPartitionsAsRDD$a3ab3c4$1(BaseSparkCommitActionExecutor.java:246) > > {code} > > > if set hoodie.merge.allow.duplicate.on.inserts = true,The result is one more > record than expected: > [1,a1,1.0,10,2022-08-18], [1,a1,11.0,110,2022-08-19], > [2,a2,10.0,100,2022-08-18] -- This message was sent by Atlassian Jira (v8.20.10#820010)