azagrebin commented on a change in pull request #10852: 
[FLINK-15564][yarn][test] Fix YarnClusterDescriptorTest that failed to validate 
the original intended behavior
URL: https://github.com/apache/flink/pull/10852#discussion_r366995297
 
 

 ##########
 File path: 
flink-yarn/src/main/java/org/apache/flink/yarn/YarnClusterDescriptor.java
 ##########
 @@ -318,6 +308,20 @@ private void isReadyForDeployment(ClusterSpecification 
clusterSpecification) thr
                }
        }
 
+       @VisibleForTesting
+       protected int getNumYarnMaxVcores() throws YarnDeploymentException {
 
 Review comment:
   I am wondering whether it is actually less invasive to introduce a 
`StubYarnClientImpl` and use in `YarnClusterDescriptorTest#setup` instead of 
changing production class `YarnClusterDescriptor` for this:
   ```
   class StubYarnClientImpl() extends YarnClient {
                        @Override
                        public List<NodeReport> getNodeReports(NodeState... 
states) {
                                return Collections.singletonList(new 
NodeReport() {
                                        @Override
                                        public Resource getCapability() {
                                                return new Resource() {
                                                        @Override
                                                        public int 
getVirtualCores() {
                                                                return 
NUM_YARN_MAX_VCORES;
                                                        }
                                                        // ...
                                                };
                                        }
                                        // ...
                                });
                        }
               // ...
   }
   
   public class YarnClusterDescriptorTest extends TestLogger {
       // ..
       @BeforeClass
        public static void setupClass() {
                yarnConfiguration = new YarnConfiguration();
                yarnClient = new StubYarnClientImpl();
                yarnClient.init(yarnConfiguration);
                yarnClient.start();
        }
       //..
   }
   ```
   
   It is quite some useless code but we can put into a separate file.

----------------------------------------------------------------
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