yihua commented on code in PR #9892:
URL: https://github.com/apache/hudi/pull/9892#discussion_r1371352074


##########
hudi-common/src/main/java/org/apache/hudi/common/model/DefaultHoodieRecordPayload.java:
##########
@@ -86,30 +86,26 @@ public Option<IndexedRecord> getInsertValue(Schema schema, 
Properties properties
     GenericRecord incomingRecord = HoodieAvroUtils.bytesToAvro(recordBytes, 
schema);
     eventTime = updateEventTime(incomingRecord, properties);
 
-    return isDeleteRecord(incomingRecord, properties) ? Option.empty() : 
Option.of(incomingRecord);
+    return isDeleted(schema, properties) ? Option.empty() : 
Option.of(incomingRecord);
   }
 
-  /**
-   * @param genericRecord instance of {@link GenericRecord} of interest.
-   * @param properties payload related properties
-   * @returns {@code true} if record represents a delete record. {@code false} 
otherwise.
-   */
-  protected boolean isDeleteRecord(GenericRecord genericRecord, Properties 
properties) {
-    final String deleteKey = properties.getProperty(DELETE_KEY);
+  @Override
+  protected boolean isDeleteRecord(GenericRecord record, Properties props) {
+    final String deleteKey = props.getProperty(DELETE_KEY);
     if (StringUtils.isNullOrEmpty(deleteKey)) {
-      return isDeleteRecord(genericRecord);
+      return super.isDeleteRecord(record, props);

Review Comment:
   `BaseAvroPayload.isDeleteRecord(GenericRecord genericRecord, Properties 
props)` uses the props, and it is called by `this.isDeletedRecord = record == 
null || isDeleteRecord(record, props);` in the constructor.  
`BaseAvroPayload.isDeleteRecord(GenericRecord genericRecord)` is only for 
backwards compatibility, called from user-implemented record payload 
implementation.
   <img width="1403" alt="Screenshot 2023-10-25 at 01 20 47" 
src="https://github.com/apache/hudi/assets/2497195/be90adfb-2df4-4d51-973f-b2a07665b769";>
   



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to