danny0405 commented on code in PR #9892:
URL: https://github.com/apache/hudi/pull/9892#discussion_r1371319625
##########
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:
But the `BaseAvroPayload.isDeleteRecord` does not really use the passed in
props, so do we still to change all the constructors just for passing the
props, it seems just an additional invocation of
`BaseAvroPayload.isDeleteRecord` could fix the problem and this method does not
need any props actually.
We can address the props issue is separate task maybe.
--
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]