This is an automated email from the ASF dual-hosted git repository.

xtsong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new 6f9bca971f6 [FLINK-31321][Deployment/YARN] Yarn-session mode, 
securityConfiguration supports dynamic configuration
6f9bca971f6 is described below

commit 6f9bca971f69525f9be7779121706bfb5756089d
Author: felixzh <[email protected]>
AuthorDate: Tue Mar 7 10:12:50 2023 +0800

    [FLINK-31321][Deployment/YARN] Yarn-session mode, securityConfiguration 
supports dynamic configuration
    
    This closes #22119
---
 .../java/org/apache/flink/client/cli/DynamicPropertiesUtil.java  | 4 ++--
 .../main/java/org/apache/flink/yarn/cli/FlinkYarnSessionCli.java | 9 ++++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git 
a/flink-clients/src/main/java/org/apache/flink/client/cli/DynamicPropertiesUtil.java
 
b/flink-clients/src/main/java/org/apache/flink/client/cli/DynamicPropertiesUtil.java
index d8535b9a08a..f367fecb89b 100644
--- 
a/flink-clients/src/main/java/org/apache/flink/client/cli/DynamicPropertiesUtil.java
+++ 
b/flink-clients/src/main/java/org/apache/flink/client/cli/DynamicPropertiesUtil.java
@@ -29,7 +29,7 @@ import java.util.Properties;
  * Helper class for supporting dynamic property commandline options in {@link 
CustomCommandLine
  * CustomCommandLines}.
  */
-class DynamicPropertiesUtil {
+public class DynamicPropertiesUtil {
 
     /**
      * Dynamic properties allow the user to specify additional configuration 
values with -D, such as
@@ -49,7 +49,7 @@ class DynamicPropertiesUtil {
      * Parses dynamic properties from the given {@link CommandLine} and sets 
them on the {@link
      * Configuration}.
      */
-    static void encodeDynamicProperties(
+    public static void encodeDynamicProperties(
             final CommandLine commandLine, final Configuration 
effectiveConfiguration) {
 
         final Properties properties = 
commandLine.getOptionProperties(DYNAMIC_PROPERTIES.getOpt());
diff --git 
a/flink-yarn/src/main/java/org/apache/flink/yarn/cli/FlinkYarnSessionCli.java 
b/flink-yarn/src/main/java/org/apache/flink/yarn/cli/FlinkYarnSessionCli.java
index c3b13181413..564d67496f4 100644
--- 
a/flink-yarn/src/main/java/org/apache/flink/yarn/cli/FlinkYarnSessionCli.java
+++ 
b/flink-yarn/src/main/java/org/apache/flink/yarn/cli/FlinkYarnSessionCli.java
@@ -20,6 +20,8 @@ package org.apache.flink.yarn.cli;
 
 import org.apache.flink.client.cli.CliArgsException;
 import org.apache.flink.client.cli.CliFrontend;
+import org.apache.flink.client.cli.CliFrontendParser;
+import org.apache.flink.client.cli.DynamicPropertiesUtil;
 import org.apache.flink.client.deployment.ClusterClientFactory;
 import org.apache.flink.client.deployment.ClusterClientServiceLoader;
 import org.apache.flink.client.deployment.ClusterSpecification;
@@ -853,7 +855,12 @@ public class FlinkYarnSessionCli extends AbstractYarnCli {
                             "",
                             ""); // no prefix for the YARN session
 
-            SecurityUtils.install(new 
SecurityConfiguration(flinkConfiguration));
+            final CommandLine commandLine = 
CliFrontendParser.parse(cli.allOptions, args, true);
+
+            final Configuration securityFlinkConfiguration = 
flinkConfiguration.clone();
+            DynamicPropertiesUtil.encodeDynamicProperties(commandLine, 
securityFlinkConfiguration);
+
+            SecurityUtils.install(new 
SecurityConfiguration(securityFlinkConfiguration));
 
             retCode = SecurityUtils.getInstalledContext().runSecured(() -> 
cli.run(args));
         } catch (CliArgsException e) {

Reply via email to