JunRuiLee commented on code in PR #25790:
URL: https://github.com/apache/flink/pull/25790#discussion_r1896440135
##########
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/IntermediateResult.java:
##########
@@ -207,6 +210,10 @@ public boolean isForward() {
return intermediateDataSet.isForward();
}
+ public boolean isEveryConsumerConsumeAllSubPartitions() {
Review Comment:
Yes, it was indeed confusing before to have both `broadcast` and
`EveryConsumerConsumeAllSubPartitions` present at the same time.
Let me explain the reason for introducing these changes: Broadcast was used
to represent two specific modes for reading and writing. Writing required that
a single subpartition contains all data, and reading corresponded to consuming
that single subpartition.
In my opinion, broadcasting requires that the downstream consumes all
produced data. The optimization is that the upstream could write all data to a
single subpartition, and the downstream could consume it. These are different
concepts.
So, in this PR, I introduced `singleSubpartitionContainsAllData` to replace
the original optimization concept. The `broadcast` concept will change to mean
the downstream consumes all produced data.
--
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]