You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by GitBox <gi...@apache.org> on 2020/01/15 17:04:41 UTC

[GitHub] [flink] azagrebin commented on a change in pull request #10852: [FLINK-15564][yarn][test] Fix YarnClusterDescriptorTest that failed to validate the original intended behavior

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:
users@infra.apache.org


With regards,
Apache Git Services