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


##########
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:
   The implementation of this method is kept the same.  However, before my fix, 
this method `isDeleteRecord(GenericRecord genericRecord, Properties 
properties)` was a protected method not overriding any method in super class, 
and it was not called in the constructor to determine whether a record is a 
delete.
   
   After the fix, the method `isDeleteRecord(GenericRecord genericRecord, 
Properties properties)` overrides the same in the super class, and is now 
called in the constructor (see super class `BaseAvroPayload` constructor, where 
the following is called)
   ```
   this.isDeletedRecord = record == null || isDeleteRecord(record, props);
   ```



-- 
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