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
```java
Option<IndexedRecord> combinedAvroRecord =
hoodieRecord.getData().combineAndGetUpdateValue(oldRecord,
useWriterSchema ? writerSchema : originalSchema);
```
we check it 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:
[email protected]