the-other-tim-brown commented on code in PR #13444:
URL: https://github.com/apache/hudi/pull/13444#discussion_r2191369244


##########
hudi-common/src/main/java/org/apache/hudi/common/table/read/FileGroupRecordBuffer.java:
##########
@@ -565,27 +570,62 @@ protected boolean hasNextBaseRecord(T baseRecord, 
BufferedRecord<T> logRecordInf
       Pair<Boolean, T> isDeleteAndRecord = merge(baseRecordInfo, 
logRecordInfo);
       if (!isDeleteAndRecord.getLeft()) {
         // Updates
-        nextRecord = readerContext.seal(isDeleteAndRecord.getRight());
+        nextRecord = 
readerContext.seal(applyOutputSchemaConversion(isDeleteAndRecord.getRight()));

Review Comment:
   The maintenance is not going to become any easier. Every record buffer 
implementation will also need a CDC version. How is that easier to maintain?
   
   There will always be some code that needs to run per row when we are 
merging. Currently this only runs when there are updates, deletes, or new log 
records. That is not `per-row` exactly. If you are so worried about a null 
check, why aren't you worried about [auto-boxing performance 
degradation](https://github.com/apache/hudi/pull/13511/files#diff-08630014159096d27df01401a0fe2178f535d90045d09c1b5dfe8e0cefb7ee66R66)
 and the [per merge 
checks](https://github.com/apache/hudi/pull/13511/files#diff-44ea0a598fb8c09126a1dcccad5c3f572c8aadae48c18dcc800e977a4cfb1c5fR313)
 that you recently approved and merged? Where is the line drawn? It seems 
arbitrary.



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