xushiyan commented on a change in pull request #1819: URL: https://github.com/apache/hudi/pull/1819#discussion_r453455700
########## File path: hudi-common/src/main/java/org/apache/hudi/common/model/OverwriteWithLatestAvroPayload.java ########## @@ -67,7 +74,8 @@ public OverwriteWithLatestAvroPayload preCombine(OverwriteWithLatestAvroPayload GenericRecord genericRecord = (GenericRecord) recordOption.get(); // combining strategy here trivially ignores currentValue on disk and writes this record - Object deleteMarker = genericRecord.get("_hoodie_is_deleted"); + String deleteField = userDefineDeleteField == null ? DEFAULT_DELETE_FIELD : userDefineDeleteField; + Object deleteMarker = genericRecord.get(deleteField); Review comment: @shenh062326 Maybe we shouldn't do the check in the payload class itself. Maybe `org.apache.hudi.io.HoodieMergeHandle#write` is better for this job. After https://github.com/apache/hudi/blob/2603cfb33e272632d7f36a53e1b13fe86dbb8627/hudi-client/src/main/java/org/apache/hudi/io/HoodieMergeHandle.java#L222-L223 we check `combinedAvroRecord` against the delete field defined in the configs and convert it to Option.empty() if appropriate. As this feature is config-related, whoever owns the configs should do it. Need more inputs from @nsivabalan ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org