[
https://issues.apache.org/jira/browse/FLINK-14186?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16938235#comment-16938235
]
Yun Gao edited comment on FLINK-14186 at 9/26/19 5:19 PM:
----------------------------------------------------------
The reason of this issue is that -XX:+UseParNewGC [has been removed from the
JDK11|[https://bugs.openjdk.java.net/browse/JDK-8151084]] as the garbage
collector algorithms have evolved. However, Elastic Search 2.3.5 has
configured this option in its startup script. Therefore, the Elastic Search
2.3.5 will fail to start on JDK11, which cause the test fail.
To fix this problem, we can set environment variable
JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions" when starting the Elastic Search
cluster. This environment variable parameter is provided by Elastic Search
2.3.5 script and IgnoreUnrecognizedVMOptions let JVM ignores unrecognized
options instead throw an error.
The Elastic Search 5.x and 6.x have removed -XX:+UseParNewGC from the default
JVM config and thus they should not met this issue. Besides, in these two
version JAVA_OPTS is deprecated and ES_JAVA_OPTS is used instead. Since the two
version currently do not have problem, I think we do not need to also configure
ES_JAVA_OPTS now.
For reference, the code involved in Flink is:
# e2e - misc - jdk11 configured in .travis.yml have finally called
_tools/travis/splits/split_misc.sh_
# _split_misc.sh_ have three ElasticSearch related tests. They all finally
called flink-end-to-end-tests/test-scripts/test_streaming_elasticsearch.sh.
# test_streaming_elasticsearch.sh further called the function
setup_elasticsearch included from
flink-end-to-end-tests/test-scripts/elasticsearch-common.sh
# setup_elasticsearch downloads the specified ElasticSearch distribution
package and unzip it. Then it calls "_$elasticsearchDir/bin/elasticsearch &"_
to start the _ _ElasticSearch_ _ cluster. We should then modify the startup
environment here.
was (Author: gaoyunhaii):
The reason of this issue is that -XX:+UseParNewGC [has been removed from the
JDK11|[https://bugs.openjdk.java.net/browse/JDK-8151084]] as the garbage
collector algorithms have evolved. However, Elastic Search 2.3.5 has
configured this option in its startup script. Therefore, the Elastic Search
2.3.5 will fail to start on JDK11, which cause the test fail.
To fix this problem, we can set environment variable
JAVA_OPTS="-XX:+IgnoreUnrecognizedVMOptions" when starting the Elastic Search
cluster. This environment variable parameter is provided by Elastic Search
2.3.5 script and IgnoreUnrecognizedVMOptions let JVM ignores unrecognized
options instead throw an error.
The Elastic Search 5.x and 6.x have removed -XX:+UseParNewGC from the default
JVM config and thus they should not met this issue. Besides, in these two
version JAVA_OPTS is deprecated and ES_JAVA_OPTS is used instead. Since the two
version currently do not have problem, I think we do not need to also configure
ES_JAVA_OPTS now.
For reference, the code involved in Flink is:
# flink-end-to-end-tests/run-nightly-tests.sh have three ElasticSearch related
tests. They all finally called
flink-end-to-end-tests/test-scripts/test_streaming_elasticsearch.sh.
# test_streaming_elasticsearch.sh further called the function
setup_elasticsearch included from
flink-end-to-end-tests/test-scripts/elasticsearch-common.sh
# setup_elasticsearch downloads the specified ElasticSearch distribution
package and unzip it. Then it calls "_$elasticsearchDir/bin/elasticsearch &"_
to start the __ ElasticSearch __ cluster. We should then modify the startup
environment here.
> Nightly e2e-misc-jdk11 fails complaining unrecognized VM option
> ---------------------------------------------------------------
>
> Key: FLINK-14186
> URL: https://issues.apache.org/jira/browse/FLINK-14186
> Project: Flink
> Issue Type: Bug
> Components: Tests
> Reporter: Yu Li
> Assignee: Yun Gao
> Priority: Blocker
> Labels: pull-request-available, test-stability
> Time Spent: 10m
> Remaining Estimate: 0h
>
> As titled, this failure reproduces stably in recent nightly runs, such as
> https://api.travis-ci.org/v3/job/588201921/log.txt . From the log we could
> see message like below:
> {noformat}
> Unrecognized VM option 'UseParNewGC'
> Error: Could not create the Java Virtual Machine.
> Error: A fatal exception has occurred. Program will exit.
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)