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

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

Reply via email to