# Elasticsearch with OpenJDK Early Access build

**URL:** <https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439>\
**Category:** Elasticsearch\
**Created:** [January 31, 2020, 5:32pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439 "2020-01-31T17:32:00Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sourav\_Paul](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sourav_paul/32/45032_2.png) [@Sourav\_Paul](https://discuss.elastic.co/u/Sourav_Paul)\
**Post date:** [January 31, 2020, 5:32pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/1 "2020-01-31T17:32:00Z")

</div>

Elasticsearch does not allow OpenJDK Early access build to start with. Is there a way to bypass this check?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 3, 2020, 3:33pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/2 "2020-02-03T15:33:20Z")

</div>

You can create a custom build that has this check disabled/removed - I do not see another possibility after a quick check.

---

<div class="post-metadata">

**Author:** ![Sourav\_Paul](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sourav_paul/32/45032_2.png) [@Sourav\_Paul](https://discuss.elastic.co/u/Sourav_Paul)\
**Post date:** [February 3, 2020, 5:54pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/3 "2020-02-03T17:54:59Z")

</div>

Thanks Alex. Bit tedious task.  
Can this be taken as a request to have additional configuration for allowing OpenJDK EA build. This will give more flexibility to users and can be easily manageable.

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 4, 2020, 8:54am UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/4 "2020-02-04T08:54:14Z")

</div>

This bootstrap check has been added intentionally and thus it is unlikely to be removed, feel free to open a github issue and start a discussion.

First, can you explain why you want to run an early access build in production instead of the openjdk that is shipped with Elasticsearch?

Second, if you do not bind to an external interface and thus run a one-node cluster, the bootstrap checks are omitted. Would that work for you? You could still bind the http address to an external one, and leave the transport address at localhost.

---

<div class="post-metadata">

**Author:** ![Sourav\_Paul](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sourav_paul/32/45032_2.png) [@Sourav\_Paul](https://discuss.elastic.co/u/Sourav_Paul)\
**Post date:** [February 7, 2020, 9:06am UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/5 "2020-02-07T09:06:17Z")

</div>

Thanks again Alex for your reply. I'll open a github issue and give justification.

Btw, meanwhile I added following in elasticsearch.yml, but still unable to start Elasticsearch.

network.host: 127.0.0.1  
discovery.type: single-node

Am I missing anything here?

---

<div class="post-metadata">

**Author:** ![spinscale](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/spinscale/32/25011_2.png) [@spinscale](https://discuss.elastic.co/u/spinscale)\
**Post date:** [February 7, 2020, 3:18pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/6 "2020-02-07T15:18:11Z")

</div>

```auto
$ grep '^[^#]' config/elasticsearch.yml
discovery.type: single-node
network.host: 0.0.0.0

```

```auto
$ java -version
openjdk version "14-ea" 2020-03-17
OpenJDK Runtime Environment (build 14-ea+34-1452)
OpenJDK 64-Bit Server VM (build 14-ea+34-1452, mixed mode, sharing)

```

```auto
$ ./bin/elasticsearch
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-02-07T16:16:24,310][INFO][o.e.n.Node] [rhincodon] JVM home [/Users/alr/.sdkman/candidates/java/14.ea.34-open]
...
[2020-02-07T16:16:30,806][WARN][o.e.b.BootstrapChecks] [rhincodon] Java version [14-ea] is an early-access build, only use release builds
...
[2020-02-07T16:16:31,094][INFO][o.e.h.AbstractHttpServerTransport] [rhincodon] publish_address {192.168.178.30:9200}, bound_addresses {[::]:9200}

```

anything I missed out in your configuration? This is on 7.5.2

---

<div class="post-metadata">

**Author:** ![Sourav\_Paul](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sourav_paul/32/45032_2.png) [@Sourav\_Paul](https://discuss.elastic.co/u/Sourav_Paul)\
**Post date:** [February 8, 2020, 4:45pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/7 "2020-02-08T16:45:16Z")

</div>

Looks like Bootstrap checks are skipped, but got Access Denied. Looks like java.policy needs change.

[2020-02-07T06:45:04,276][WARN][o.e.b.BootstrapChecks] Java version [14-ea] is an early-access build, only use release builds  
[2020-02-07T06:45:04,487][INFO][o.e.n.Node] started  
[2020-02-07T06:45:04,636][INFO][o.e.x.s.s.SecurityStatusChangeListener] Active license is now [BASIC]; Security is disabled  
[2020-02-07T06:45:04,642][INFO][o.e.g.GatewayService] recovered [10] indices into cluster\_state  
[2020-02-07T06:45:04,823][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] fatal error in thread [elasticsearch[generic][T#3]], exiting  
**java.lang.InternalError: java.security.AccessControlException: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks")**  
at jdk.internal.misc.ExtendedMapMode.(ExtendedMapMode.java:46) ~[?:?]  
at sun.nio.ch.FileChannelImpl.isSync(FileChannelImpl.java:1119) ~[?:?]  
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:994) ~[?:?]  
at org.apache.lucene.store.MMapDirectory.map(MMapDirectory.java:267) ~[lucene-core-8.3.0.jar:8.3.0 2aa586909b911e66e1d8863aa89f173d69f86cd2 - ishan - 2019-10-25 23:10:03]  
at org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:242) ~[lucene-core-8.3.0.jar:8.3.0 2aa586909b911e66e1d8863aa89f173d69f86cd2 - ishan - 2019-10-25 23:10:03]

---

<div class="post-metadata">

**Author:** ![Sourav\_Paul](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sourav_paul/32/45032_2.png) [@Sourav\_Paul](https://discuss.elastic.co/u/Sourav_Paul)\
**Post date:** [February 8, 2020, 4:58pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/8 "2020-02-08T16:58:24Z")

</div>

Fixed Access Denied issue, but got into another ☹

[2020-02-07T08:09:30,828][ERROR][o.e.b.ElasticsearchUncaughtExceptionHandler] fatal error in thread [elasticsearch[generic][T#2]], exiting  
**java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.misc.ExtendedMapMode**  
at sun.nio.ch.FileChannelImpl.isSync(FileChannelImpl.java:1119) ~[?:?]  
at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:994) ~[?:?]  
at org.apache.lucene.store.MMapDirectory.map(MMapDirectory.java:267) ~[lucene-core-8.3.0.jar:8.3.0 2aa586909b911e66e1d8863aa89f173d69f86cd2 - ishan - 2019-10-25 23:10:03]

---

<div class="post-metadata">

**Author:** ![DavidTurner](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/davidturner/32/22453_2.png) [@DavidTurner](https://discuss.elastic.co/u/DavidTurner)\
**Post date:** [February 8, 2020, 7:09pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/9 "2020-02-08T19:09:38Z")

</div>

That looks like a [known JDK issue](https://bugs.openjdk.java.net/browse/JDK-8236582). Apparently it's [fixed](https://github.com/elastic/elasticsearch/issues/50512#issuecomment-575693902) in build 32 so maybe you need to update? Such is life when running EA builds - you're a long way from the recommended path on this one.

---

<div class="post-metadata">

**Author:** ![Sourav\_Paul](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sourav_paul/32/45032_2.png) [@Sourav\_Paul](https://discuss.elastic.co/u/Sourav_Paul)\
**Post date:** [February 9, 2020, 4:45pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/10 "2020-02-09T16:45:42Z")

</div>

Agreed David!  
With **openjdk version "14" 2020-03-17 OpenJDK Runtime Environment (build 14+36-1461)**, ES started working magically. Although Build 36 is not an EA build, but I managed ES to skip bootstrap checks.  
Thanks to both of you for your help.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 8, 2020, 4:45pm UTC](https://discuss.elastic.co/t/elasticsearch-with-openjdk-early-access-build/217439/11 "2020-03-08T16:45:48Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
