[ 
https://issues.apache.org/jira/browse/FLINK-36454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18120324#comment-18120324
 ] 

Martijn Visser commented on FLINK-36454:
----------------------------------------

Ran into this with the Confluent Schema Registry e2e tests in FLINK-32451 and 
FLINK-40838. Both copy env.java.opts.all from the distribution's config.yaml as 
a workaround.

> FlinkContainer always overwrites default config
> -----------------------------------------------
>
>                 Key: FLINK-36454
>                 URL: https://issues.apache.org/jira/browse/FLINK-36454
>             Project: Flink
>          Issue Type: Bug
>          Components: Test Infrastructure
>    Affects Versions: 2.0-preview
>            Reporter: Arvid Heise
>            Priority: Major
>
> Because FlinkContainer disregards the default config, some meaningful options 
> are lost when executing container in tests. For example, because we overwrite 
> env.java.opts.all, all --add-opens are lost leading to exceptions like
> {code:java}
>  10:26:26,171 [                main] ERROR 
> org.apache.flink.connector.testframe.container.FlinkContainers [] - 
> java.lang.ExceptionInInitializerError
>       at 
> org.apache.flink.client.ClientUtils.executeProgram(ClientUtils.java:109)
>       at 
> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:1026)
>       at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:247)
>       at 
> org.apache.flink.client.cli.CliFrontend.parseAndRun(CliFrontend.java:1270)
>       at 
> org.apache.flink.client.cli.CliFrontend.lambda$mainInternal$10(CliFrontend.java:1367)
>       at 
> org.apache.flink.runtime.security.contexts.NoOpSecurityContext.runSecured(NoOpSecurityContext.java:28)
>       at 
> org.apache.flink.client.cli.CliFrontend.mainInternal(CliFrontend.java:1367)
>       at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1335)
> Caused by: java.lang.RuntimeException: Can not register process function 
> transformation translator.
>       at 
> org.apache.flink.datastream.impl.ExecutionEnvironmentImpl.<clinit>(ExecutionEnvironmentImpl.java:98)
>       ... 8 more
> Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
> field private final java.util.Map java.util.Collections$UnmodifiableMap.m 
> accessible: module java.base does not "opens java.util" to unnamed module 
> @771b8d5c
>       at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown 
> Source)
>       at 
> java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(Unknown 
> Source)
>       at java.base/java.lang.reflect.Field.checkCanSetAccessible(Unknown 
> Source)
>       at java.base/java.lang.reflect.Field.setAccessible(Unknown Source)
>       at 
> org.apache.flink.streaming.runtime.translators.DataStreamV2SinkTransformationTranslator.registerSinkTransformationTranslator(DataStreamV2SinkTransformationTranslator.java:104)
>       at 
> org.apache.flink.datastream.impl.ExecutionEnvironmentImpl.<clinit>(ExecutionEnvironmentImpl.java:96)
>       ... 8 more {code}
> FlinkImageBuilder should read the default config and only overwrite the 
> custom settings in
> {code:java}
> private Path createTemporaryFlinkConfFile(Configuration finalConfiguration, 
> Path tempDirectory)
>         throws IOException {
>     Path flinkConfFile = 
> tempDirectory.resolve(GlobalConfiguration.FLINK_CONF_FILENAME);
>     Files.write(
>             flinkConfFile,
>             
> ConfigurationUtils.convertConfigToWritableLines(finalConfiguration, false));
>     return flinkConfFile;
> } {code}
> The workaround is to set the option manually in the test but that may be 
> outdated on version upgrade.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to