cshuo commented on code in PR #19202:
URL: https://github.com/apache/hudi/pull/19202#discussion_r3569099157


##########
hudi-flink-datasource/hudi-flink/src/main/java/org/apache/hudi/table/format/cdc/CdcIterators.java:
##########
@@ -135,14 +153,25 @@ public boolean hasNext() {
     }
 
     @Override
-    public RowData next() {
+    public synchronized RowData next() {

Review Comment:
   +1 to keep the iterator-side synchronization as the hot fix.
   
   For a longer-term fix, we should remove the lazy read from `BatchRecords`: 
`SplitReader.fetch()` should materialize a bounded mini-batch of records, and 
`BatchRecords` should carry that batch rather than a live iterator. This keeps 
the iterator, `CdcImageManager`, and file-reader lifecycle entirely in the 
split reader function / fetcher thread, where they can be released 
deterministically on split completion or cancellation.



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