Github user tzulitai commented on a diff in the pull request: https://github.com/apache/flink/pull/5172#discussion_r165663546 --- Diff: flink-yarn/src/main/java/org/apache/flink/yarn/YarnTaskManagerRunner.java --- @@ -142,19 +153,10 @@ public static void runYarnTaskManager(String[] args, final Class<? extends YarnT SecurityUtils.install(sc); - SecurityUtils.getInstalledContext().runSecured(new Callable<Object>() { - @Override - public Integer call() { - try { - TaskManager.selectNetworkInterfaceAndRunTaskManager(configuration, resourceId, taskManager); - } - catch (Throwable t) { - LOG.error("Error while starting the TaskManager", t); - System.exit(TaskManager.STARTUP_FAILURE_RETURN_CODE()); - } - return null; - } - }); + if (mainRunner == null) { --- End diff -- I don't think this is a good idea, to add a code path in production code that exists only for the purpose of injecting a mock runner dependency in tests. I've added another commit upon @suez1224's changes that makes `YarnTaskManagerRunner` a factory-like class, that creates a `Runner` containing all the final configurations. The unit test can then test against that configuration.
---