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