pnowojski commented on PR #21690:
URL: https://github.com/apache/flink/pull/21690#issuecomment-1385472074

   I think it's fine for the `DataOutput` to instruct the caller if it can be 
called again. Actually maybe even instead of adding 
`DataOutput#canEmitBatchOfRecords`, maybe `DataOutput#emitRecord` should return 
a `boolean` (most likely no need to change the watermark/latency marker 
versions). 
   
   About the `Suppliers`, I don't like using them personally tbh. For one thing 
they are hard to follow in the IDE (finding implementations or usages do not 
work). This could be mitigated with using a named interface instead of 
`Supplier<Boolean>`.  Also it may suggest that there is some weird spaghetti 
dependency in the code, where some components are somehow sub-optimally 
designed. @1996fanrui's proposal is still using a supplier, but less so 
compared to master. 
   
   The other thing that looks strange if I take a step back, is that we now 
have to different `while (true)` loops. One in the 
`MailboxProcessor#runMailboxLoop` the other in `SourceOperator` and with 
FLINK-30709 in the network source as well, doing basically the same thing. I 
will think about this a bit more.
   


-- 
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: issues-unsubscr...@flink.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to