You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by GitBox <gi...@apache.org> on 2021/11/26 10:49:47 UTC

[GitHub] [hudi] BenjMaq opened a new issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

BenjMaq opened a new issue #4131:
URL: https://github.com/apache/hudi/issues/4131


   **Describe the problem you faced**
   
   I'm running Hudi `0.9.0`, creating an external Hudi table on S3, and when trying to insert into this table using Spark SQL, it fails with exception `org.apache.hudi.exception.HoodieException: The value of <field> can not be null`. 
   
   - The `<field>` is always the **_last field_** of my table. If I try to change the field, then the error also appears for the new **_last field_**. 
   - The `<field>` is not part of my `primary_key` or `combine_key` (or anything else). It's just a "normal" field.
   
   
   **To Reproduce**
   
   Steps to reproduce the behavior:
   
   1. Run a create table statement
   ```
   CREATE TABLE IF NOT EXISTS <schema>.<table_name> (
       <field1> <datatype1>,
       <field2> <datatype2>,
       <field3> <datatype2>
                    ....
       <fieldN> <datatypeN>
   ) USING hudi
   LOCATION 's3a://<bucket>/<object>'
   OPTIONS (
     type = 'cow',
     primaryKey = '<table_primary_key>'
   );
   ```
   2. Run insert into statement
   ```
   insert into <schema>.<table_name>
   select
       <field1>,
       <field2>,
       <field3>,
                    ....
       <fieldN>
   from <schema>.<table_name>
   ```
   3. Error is throw: `org.apache.hudi.exception.HoodieException: The value of <field> can not be null`
   
   **Expected behavior**
   
   I would expect data to be correctly inserted instead of throwing an error.
   
   **Environment Description**
   
   * Hudi version : 0.9.0
   
   * Spark version : 2.4.4
   
   * Hive version : 2.3.5
   
   * Hadoop version :
   
   * Storage (HDFS/S3/GCS..) : S3
   
   * Running on Docker? (yes/no) : No
   
   **Stacktrace**
   
   ```
   27719 [task-result-getter-3] ERROR org.apache.spark.scheduler.TaskSetManager  - Task 0 in stage 3.0 failed 4 times; aborting job
   Exception in thread "main" org.apache.hudi.exception.HoodieUpsertException: Failed to upsert for commit time 20211126023726
   	at org.apache.hudi.table.action.commit.AbstractWriteHelper.write(AbstractWriteHelper.java:62)
   	at org.apache.hudi.table.action.commit.SparkUpsertCommitActionExecutor.execute(SparkUpsertCommitActionExecutor.java:46)
   	at org.apache.hudi.table.HoodieSparkCopyOnWriteTable.upsert(HoodieSparkCopyOnWriteTable.java:98)
   	at org.apache.hudi.table.HoodieSparkCopyOnWriteTable.upsert(HoodieSparkCopyOnWriteTable.java:88)
   	at org.apache.hudi.client.SparkRDDWriteClient.upsert(SparkRDDWriteClient.java:157)
   	at org.apache.hudi.DataSourceUtils.doWriteOperation(DataSourceUtils.java:214)
   	at org.apache.hudi.HoodieSparkSqlWriter$.write(HoodieSparkSqlWriter.scala:265)
   	at org.apache.spark.sql.hudi.command.InsertIntoHoodieTableCommand$.run(InsertIntoHoodieTableCommand.scala:103)
   	at org.apache.spark.sql.hudi.command.InsertIntoHoodieTableCommand.run(InsertIntoHoodieTableCommand.scala:59)
   	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
   	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
   	at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:79)
   	at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:194)
   	at org.apache.spark.sql.Dataset$$anonfun$6.apply(Dataset.scala:194)
   	at org.apache.spark.sql.Dataset$$anonfun$52.apply(Dataset.scala:3370)
   	at org.apache.spark.sql.execution.SQLExecution$$anonfun$withNewExecutionId$1.apply(SQLExecution.scala:78)
   	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:125)
   	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:73)
   	at org.apache.spark.sql.Dataset.withAction(Dataset.scala:3369)
   	at org.apache.spark.sql.Dataset.<init>(Dataset.scala:194)
   	at org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:79)
   	at org.apache.spark.sql.SparkSession.sql(SparkSession.scala:642)
   	at org.apache.spark.sql.SQLContext.sql(SQLContext.scala:694)
   	at com.twilio.optimustranformer.OptimusTranformer$$anonfun$main$1$$anonfun$apply$mcV$sp$1.apply(OptimusTranformer.scala:76)
   	at com.twilio.optimustranformer.OptimusTranformer$$anonfun$main$1$$anonfun$apply$mcV$sp$1.apply(OptimusTranformer.scala:74)
   	at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
   	at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
   	at com.twilio.optimustranformer.OptimusTranformer$$anonfun$main$1.apply$mcV$sp(OptimusTranformer.scala:73)
   	at scala.util.control.Breaks.breakable(Breaks.scala:38)
   	at com.twilio.optimustranformer.OptimusTranformer$.main(OptimusTranformer.scala:72)
   	at com.twilio.optimustranformer.OptimusTranformer.main(OptimusTranformer.scala)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
   	at org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:845)
   	at org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:161)
   	at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:184)
   	at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
   	at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:920)
   	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:929)
   	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
   Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 3.0 failed 4 times, most recent failure: Lost task 0.3 in stage 3.0 (TID 96, 10.212.241.12, executor 0): org.apache.hudi.exception.HoodieException: The value of <field> can not be null
   	at org.apache.hudi.avro.HoodieAvroUtils.getNestedFieldVal(HoodieAvroUtils.java:484)
   	at org.apache.hudi.HoodieSparkSqlWriter$$anonfun$7.apply(HoodieSparkSqlWriter.scala:233)
   	at org.apache.hudi.HoodieSparkSqlWriter$$anonfun$7.apply(HoodieSparkSqlWriter.scala:230)
   	at scala.collection.Iterator$$anon$11.next(Iterator.scala:410)
   	at scala.collection.Iterator$$anon$11.next(Iterator.scala:410)
   	at org.apache.spark.util.collection.ExternalSorter.insertAll(ExternalSorter.scala:193)
   	at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:62)
   	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
   	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
   	at org.apache.spark.scheduler.Task.run(Task.scala:123)
   	at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
   	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
   	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   	at java.lang.Thread.run(Thread.java:748)
   
   Driver stacktrace:
   	at org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1889)
   	at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1877)
   	at org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1876)
   	at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
   	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
   	at org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1876)
   	at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:926)
   	at org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:926)
   	at scala.Option.foreach(Option.scala:257)
   	at org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:926)
   	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.doOnReceive(DAGScheduler.scala:2110)
   	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2059)
   	at org.apache.spark.scheduler.DAGSchedulerEventProcessLoop.onReceive(DAGScheduler.scala:2048)
   	at org.apache.spark.util.EventLoop$$anon$1.run(EventLoop.scala:49)
   	at org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:737)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2061)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2082)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2101)
   	at org.apache.spark.SparkContext.runJob(SparkContext.scala:2126)
   	at org.apache.spark.rdd.RDD$$anonfun$collect$1.apply(RDD.scala:945)
   	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
   	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
   	at org.apache.spark.rdd.RDD.withScope(RDD.scala:363)
   	at org.apache.spark.rdd.RDD.collect(RDD.scala:944)
   	at org.apache.spark.rdd.PairRDDFunctions$$anonfun$countByKey$1.apply(PairRDDFunctions.scala:370)
   	at org.apache.spark.rdd.PairRDDFunctions$$anonfun$countByKey$1.apply(PairRDDFunctions.scala:370)
   	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
   	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
   	at org.apache.spark.rdd.RDD.withScope(RDD.scala:363)
   	at org.apache.spark.rdd.PairRDDFunctions.countByKey(PairRDDFunctions.scala:369)
   	at org.apache.spark.api.java.JavaPairRDD.countByKey(JavaPairRDD.scala:312)
   	at org.apache.hudi.index.bloom.SparkHoodieBloomIndex.lookupIndex(SparkHoodieBloomIndex.java:114)
   	at org.apache.hudi.index.bloom.SparkHoodieBloomIndex.tagLocation(SparkHoodieBloomIndex.java:84)
   	at org.apache.hudi.index.bloom.SparkHoodieBloomIndex.tagLocation(SparkHoodieBloomIndex.java:60)
   	at org.apache.hudi.table.action.commit.AbstractWriteHelper.tag(AbstractWriteHelper.java:69)
   	at org.apache.hudi.table.action.commit.AbstractWriteHelper.write(AbstractWriteHelper.java:51)
   	... 42 more
   Caused by: org.apache.hudi.exception.HoodieException: The value of <field> can not be null
   	at org.apache.hudi.avro.HoodieAvroUtils.getNestedFieldVal(HoodieAvroUtils.java:484)
   	at org.apache.hudi.HoodieSparkSqlWriter$$anonfun$7.apply(HoodieSparkSqlWriter.scala:233)
   	at org.apache.hudi.HoodieSparkSqlWriter$$anonfun$7.apply(HoodieSparkSqlWriter.scala:230)
   	at scala.collection.Iterator$$anon$11.next(Iterator.scala:410)
   	at scala.collection.Iterator$$anon$11.next(Iterator.scala:410)
   	at org.apache.spark.util.collection.ExternalSorter.insertAll(ExternalSorter.scala:193)
   	at org.apache.spark.shuffle.sort.SortShuffleWriter.write(SortShuffleWriter.scala:62)
   	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:99)
   	at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
   	at org.apache.spark.scheduler.Task.run(Task.scala:123)
   	at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
   	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
   	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   	at java.lang.Thread.run(Thread.java:748)
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] YannByron commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
YannByron commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1012949764


   > In Hudi version 0.9.0,SQL insert determines by default that if there is a primary key, the operation is upsert. Starting from version 0.10.0, change to judge if PRECOMBINE_FIELD is set, operation is upsert
   
   @dongkelun 
   It will be nice that list all of the insert behaviors, insert, upsert, bulk-insert, insert-overwrite-table, insert-overwrite-partition, and how hudi choose which behavior through parameters and configurations.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] nsivabalan commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
nsivabalan commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1015353677


   Can you folks please file a tracking jira and work towards it. we can close out the github issue once we have a tracking jira if we don't have more to triage wrt this issue. 
   thanks for looking into it. 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] nsivabalan commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
nsivabalan commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1003782495


   @BenjMaq : Did you get a chance to try explicitly setting preCombine field. 
   @YannByron @xushiyan : Can either of you folks please follow up on the issue. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] nsivabalan commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
nsivabalan commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-997122358


   @YannByron : Can you look into this issue please. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] dongkelun commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
dongkelun commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1012136193


   @nsivabalan @BenjMaq  In Hudi version 0.9.0, insert takes the last field of the schema as the `PRECOMBINE_FIELD` by default. If the field is null, this exception may be thrown
   
   ```scala
   PRECOMBINE_FIELD.key -> tableSchema.fields.last.name
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] dongkelun edited a comment on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
dongkelun edited a comment on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1012136193


   @nsivabalan @BenjMaq  In Hudi version 0.9.0, sql insert takes the last field of the schema as the `PRECOMBINE_FIELD` by default. If the field is null, this exception may be thrown
   
   ```scala
   PRECOMBINE_FIELD.key -> tableSchema.fields.last.name
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] BenjMaq commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
BenjMaq commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1021274709


   Hi team, it works correctly by specifying a `preCombinefield`. We are good to close! 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] nsivabalan closed issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
nsivabalan closed issue #4131:
URL: https://github.com/apache/hudi/issues/4131


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] dongkelun commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
dongkelun commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1015393737


   This error does not happen when there is no primaryKey in OPTIONS of the create table statement
   This error does not happen when there is a primaryKey and a preCombineField in OPTIONS of the create table statement
   
   According to the above description, this problem will not occur when the `preCombineField` is configured. This problem should have been fixed in Hudi version 0.10.0


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] YannByron commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
YannByron commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1015367536


   @BenjMaq can you mark a field as `preCombineField` and retry? Or use hudi 0.10.0 in which it can work right.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] dongkelun commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
dongkelun commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1013680944


   > > In Hudi version 0.9.0,SQL insert determines by default that if there is a primary key, the operation is upsert. Starting from version 0.10.0, change to judge if PRECOMBINE_FIELD is set, operation is upsert
   > 
   > @dongkelun It will be nice that list all of the insert behaviors, insert, upsert, bulk-insert, insert-overwrite-table, insert-overwrite-partition, and how hudi choose which behavior through parameters and configurations.
   
   Yes, I think it would be best if it could be updated to the Hudi document


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] nsivabalan commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
nsivabalan commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1021543323


   thanks! 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] BenjMaq commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
BenjMaq commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1021274709


   Hi team, it works correctly by specifying a `preCombinefield`. We are good to close! 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [hudi] dongkelun commented on issue #4131: [SUPPORT] org.apache.hudi.exception.HoodieException: The value of can not be null

Posted by GitBox <gi...@apache.org>.
dongkelun commented on issue #4131:
URL: https://github.com/apache/hudi/issues/4131#issuecomment-1012903136


   In Hudi version 0.9.0,SQL insert determines by default that if there is a primary key, the operation is upsert.
   Starting from version 0.10.0, change to judge if PRECOMBINE_FIELD is set, operation is upsert


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org