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