azagrebin commented on a change in pull request #8362: [FLINK-11391] Introduce 
shuffle master interface
URL: https://github.com/apache/flink/pull/8362#discussion_r289810369
 
 

 ##########
 File path: 
flink-runtime/src/main/java/org/apache/flink/runtime/executiongraph/PartitionInfo.java
 ##########
 @@ -18,48 +18,56 @@
 
 package org.apache.flink.runtime.executiongraph;
 
-import org.apache.flink.runtime.deployment.InputChannelDeploymentDescriptor;
+import org.apache.flink.runtime.deployment.ResultPartitionDeploymentDescriptor;
 import org.apache.flink.runtime.jobgraph.IntermediateDataSetID;
-import org.apache.flink.util.Preconditions;
+import org.apache.flink.runtime.shuffle.ShuffleDescriptor;
 
 import java.io.Serializable;
+import java.util.Optional;
+
+import static org.apache.flink.util.Preconditions.checkState;
 
 /**
  * Contains information where to find a partition. The partition is defined by 
the
- * {@link IntermediateDataSetID} and the partition location is specified by
- * {@link InputChannelDeploymentDescriptor}.
+ * {@link IntermediateDataSetID} and the partition is specified by
+ * {@link ShuffleDescriptor}.
  */
 public class PartitionInfo implements Serializable {
 
        private static final long serialVersionUID = 1724490660830968430L;
 
        private final IntermediateDataSetID intermediateDataSetID;
-       private final InputChannelDeploymentDescriptor 
inputChannelDeploymentDescriptor;
 
-       public PartitionInfo(IntermediateDataSetID 
intermediateResultPartitionID, InputChannelDeploymentDescriptor 
inputChannelDeploymentDescriptor) {
-               this.intermediateDataSetID = 
Preconditions.checkNotNull(intermediateResultPartitionID);
-               this.inputChannelDeploymentDescriptor = 
Preconditions.checkNotNull(inputChannelDeploymentDescriptor);
+       private final ShuffleDescriptor shuffleDescriptor;
+
+       public PartitionInfo(
+                       IntermediateDataSetID intermediateResultPartitionID,
+                       ShuffleDescriptor shuffleDescriptor) {
+               this.intermediateDataSetID = intermediateResultPartitionID;
+               this.shuffleDescriptor = shuffleDescriptor;
        }
 
        public IntermediateDataSetID getIntermediateDataSetID() {
                return intermediateDataSetID;
        }
 
-       public InputChannelDeploymentDescriptor 
getInputChannelDeploymentDescriptor() {
-               return inputChannelDeploymentDescriptor;
+       public ShuffleDescriptor getShuffleDescriptor() {
+               return shuffleDescriptor;
        }
 
-       // 
------------------------------------------------------------------------
-
        static PartitionInfo fromEdge(ExecutionEdge executionEdge) {
-               final InputChannelDeploymentDescriptor 
inputChannelDeploymentDescriptor = 
InputChannelDeploymentDescriptor.fromEdge(executionEdge);
-
-               Preconditions.checkState(
-                       
!inputChannelDeploymentDescriptor.getConsumedPartitionLocation().isUnknown(),
-                       "PartitionInfo contains an unknown partition 
location.");
+               IntermediateDataSetID intermediateDataSetID = 
executionEdge.getSource().getIntermediateResult().getId();
+               ShuffleDescriptor shuffleDescriptor = 
getKnownConsumedPartitionShuffleDescriptor(executionEdge);
+               return new PartitionInfo(intermediateDataSetID, 
shuffleDescriptor);
+       }
 
-               return new PartitionInfo(
-                       
executionEdge.getSource().getIntermediateResult().getId(),
-                       inputChannelDeploymentDescriptor);
+       private static ShuffleDescriptor 
getKnownConsumedPartitionShuffleDescriptor(ExecutionEdge edge) {
 
 Review comment:
   I think we can reuse it just by passing `allowLazyDeployment=true` to 
`getConsumedPartitionShuffleDescriptor`.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to