n3nash commented on issue #1549:
URL: https://github.com/apache/incubator-hudi/issues/1549#issuecomment-619420599


   @PhatakN1 So this is what is possibly happening : 
   
   1) Hard Deletes in Hudi is only supported by following a certain contract 
with your payload. Your payload implementation should carry an "empty" record 
value. Something like this -> 
https://github.com/apache/incubator-hudi/blob/master/hudi-common/src/main/java/org/apache/hudi/common/model/EmptyHoodieRecordPayload.java
 that is supported out of the box by HoodieWriteClient here -> 
https://github.com/apache/incubator-hudi/blob/master/hudi-client/src/main/java/org/apache/hudi/client/HoodieWriteClient.java#L307.
   
   To simulate this with your own implementation (AwsDMSPayload), you can 
override the methods `getInsertValue` and `combineAndGetUpdateValue` (take a 
look at the EmptyPayload above). 
   
   2) In your specific use-case, since your payload isn't an "empty" payload, 
even though the MERGE on the realtime query is happening through the 
implementation of your payload, Hudi doesn't know whether this is a "hard 
delete" or a "soft delete" - the only way for Hudi to know it's a hard delete 
is the way I described above. 
   
   Let me know if you have further questions 


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


Reply via email to