elastic / elasticsearch-net-abstractions

Auxiliary tooling for elastic/elasticsearch-net that does not benefit from the rigorous version branching of that repository
Apache License 2.0
25 stars 14 forks source link

EphemeralCluster won't start version 6.7.0 #32

Closed homfunc closed 3 years ago

homfunc commented 4 years ago

Environment:

  1. Windows 10
  2. JAVAHOME=C:\Users\homfunc\scoop\apps\adoptopenjdk-hotspot\current
  3. java version: OpenJDK 64-Bit Server VM AdoptOpenJDK (build 14.0.1+7, mixed mode, sharing

When testing the EphemeralCluster, version 7.7.1 starts nicely but version 6.7.0 fails:

            using (var cluster = new EphemeralCluster("6.7.0")) {
                cluster.Start();
            }

The version is downloaded, extracted and the bat file is called, it looks to be starting ok then we get an exception:

... \<Snip> ...

[2020-07-09T08:59:40,984][INFO ][Managed Elasticsearch ] [ephemeral-node-c918849200] JAVAHOME: {C:\Users\homfunc\scoop\apps\adoptopenjdk-hotspot\current} OpenJDK 64-Bit Server VM warning: Ignoring option UseConcMarkSweepGC; support was removed in 14.0 OpenJDK 64-Bit Server VM warning: Ignoring option CMSInitiatingOccupancyFraction; support was removed in 14.0 OpenJDK 64-Bit Server VM warning: Ignoring option UseCMSInitiatingOccupancyOnly; support was removed in 14.0 [2020-07-09T20:59:46,490][INFO ][o.e.e.NodeEnvironment ] [ephemeral-node-c918849200] using [1] data paths, mounts [[(C:)]], net usable_space [85.2gb], net total_space [465.2gb], types [NTFS] [2020-07-09T20:59:46,492][INFO ][o.e.e.NodeEnvironment ] [ephemeral-node-c918849200] heap size [1gb], compressed ordinary object pointers [true] [2020-07-09T20:59:46,495][INFO ][o.e.n.Node ] [ephemeral-node-c918849200] node name [ephemeral-node-c918849200], node ID [AIhg9WKKQ5izo396Uy37ig] [2020-07-09T20:59:46,496][INFO ][o.e.n.Node ] [ephemeral-node-c918849200] version[6.7.0], pid[6780], build[default/zip/8453f77/2019-03-21T15:32:29.844721Z], OS[Windows 10/10.0/amd64], JVM[AdoptOpenJDK/OpenJDK 64-Bit Server VM/14.0.1/14.0.1+7]

... \<Snip loading some modules > ...

[2020-07-09T20:59:53,199][INFO ][o.e.p.PluginsService ] [ephemeral-node-c918849200] loaded module [x-pack-watcher] [2020-07-09T20:59:53,200][INFO ][o.e.p.PluginsService ] [ephemeral-node-c918849200] no plugins loaded [2020-07-09T20:59:57,650][INFO ][o.e.x.m.p.l.CppLogMessageHandler] [ephemeral-node-c918849200] [controller/17288] [Main.cc@109] controller (64 bit): Version 6.7.0 (Build d74ae2ac01b10d) Copyright (c) 2019 Elasticsearch BV [2020-07-09T20:59:58,444][INFO ][o.e.d.DiscoveryModule ] [ephemeral-node-c918849200] using discovery type [zen] and host providers [settings] [2020-07-09T20:59:59,059][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [ephemeral-node-c918849200] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: org.elasticsearch.common.inject.CreationException: Guice creation errors:

1) An exception was caught and reported. Message: access denied ("java.lang.RuntimePermission" "accessClassInPackage.jdk.internal.vm.annotation") at unknown Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.jdk.internal.vm.annotation") at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472) at java.base/java.security.AccessController.checkPermission(AccessController.java:1036)

... \<Snip> ...

A search for fixes reveals two options:

  1. Modify the permissions in the java.policy file for OpenJDK 14 Solution in Elastic Discussion Forum
  2. Use an earlier version of OpenJDK: JVM[AdoptOpenJDK/OpenJDK 64-Bit Server VM/11.0.7/11.0.7+10]

It would be nice if it 'just worked'. Maybe downloading and copying a compatible version of the JDK to the appropriate place so as to create an pseudo-bundled jdk