[ https://issues.apache.org/jira/browse/FLINK-32980?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhanghao Chen updated FLINK-32980: ---------------------------------- Description: *Problem* The following configs are supposed to be supported: |h5. env.java.opts.all|(none)|String|Java options to start the JVM of all Flink processes with.| |h5. env.java.opts.client|(none)|String|Java options to start the JVM of the Flink Client with.| However, the two configs do not take effect for starting Flink session clusters using kubernetes-session.sh and yarn-session.sh. This can lead to problems in complex production envs. For example, in my company, some nodes are IPv6-only, and the connection between Flink client and K8s/YARN control plane is via a domain name whose backend is on IPv4/v6 dual stack, and the JVM arg -Djava.net.preferIPv6Addresses=true needs to be set to make Java connect to IPv6 addresses in favor of IPv4 ones otherwise the K8s/YARN control plane is inaccessible. *Proposal* The fix is straight-forward, simply apply the following changes to the session scripts: ` FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_CLI}" exec $JAVA_RUN $JVM_ARGS $FLINK_ENV_JAVA_OPTS xxx ` was: *Problem* The following configs are supposed to be supported: |h5. env.java.opts.all|(none)|String|Java options to start the JVM of all Flink processes with.| |h5. env.java.opts.client|(none)|String|Java options to start the JVM of the Flink Client with.| However, the two configs do not take effect for starting Flink session clusters using kubernetes-session.sh and yarn-session.sh. This can lead to problems in complex production envs. For example, in my company, some nodes are IPv6-only, and the connection between Flink client and K8s/YARN control plane is via a domain name whose backend is on IPv4/v6 dual stack, and the JVM arg -Djava.net.preferIPv6Addresses=true needs to be set to make Java connect to IPv6 addresses in favor of IPv4 ones otherwise the K8s/YARN control plane is inaccessible. *Proposal* The fix is straight-forward, simply apply the following changes to the session scripts: ` # Add Client-specific JVM options FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_CLI}" exec $JAVA_RUN $JVM_ARGS $FLINK_ENV_JAVA_OPTS xxx ` > Support env.java.opts.all & env.java.opts.cli config for starting Session > clusters > ---------------------------------------------------------------------------------- > > Key: FLINK-32980 > URL: https://issues.apache.org/jira/browse/FLINK-32980 > Project: Flink > Issue Type: Improvement > Components: Command Line Client, Deployment / Scripts > Affects Versions: 1.18.0 > Reporter: Zhanghao Chen > Priority: Minor > Fix For: 1.19.0 > > > *Problem* > The following configs are supposed to be supported: > |h5. env.java.opts.all|(none)|String|Java options to start the JVM of all > Flink processes with.| > |h5. env.java.opts.client|(none)|String|Java options to start the JVM of the > Flink Client with.| > However, the two configs do not take effect for starting Flink session > clusters using kubernetes-session.sh and yarn-session.sh. This can lead to > problems in complex production envs. For example, in my company, some nodes > are IPv6-only, and the connection between Flink client and K8s/YARN control > plane is via a domain name whose backend is on IPv4/v6 dual stack, and the > JVM arg -Djava.net.preferIPv6Addresses=true needs to be set to make Java > connect to IPv6 addresses in favor of IPv4 ones otherwise the K8s/YARN > control plane is inaccessible. > > *Proposal* > The fix is straight-forward, simply apply the following changes to the > session scripts: > ` > FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_CLI}" > exec $JAVA_RUN $JVM_ARGS $FLINK_ENV_JAVA_OPTS xxx > ` -- This message was sent by Atlassian Jira (v8.20.10#820010)