Legacy Knowledge Base
Published Jun. 30, 2025

Elasticsearch 7.17.19 and 8.13 could abruptly stop with JDK version 22

Written By

Tibor Lipusz

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

Legacy Article

You are viewing an article from our legacy "FastTrack" publication program, made available for informational purposes. Articles in this program were published without a requirement for independent editing or verification and are provided"as is" without guarantee.

Before using any information from this article, independently verify its suitability for your situation and project.

Environment

  • Liferay DXP 7.3, 7.4 and Liferay DXP 2023/2024 Quarterly Release Self-Hosted environments operating with Elasticsearch version 7.17.19 with JDK 22.
  • Elasticsearch version 7.17.19 , versions 8.13.0/8.13.11 - with JDK 22.

Symptoms

1) Elasticsearch could abruptly stop with JDK 22

One or more Elasticsearch nodes could abruptly stop resulting in the following symptoms (list non-exhaustive):

2) Elasticsearch node would report a fatal error related to Java class Ljdk.internal.vm.FillerArray . For example:

[instance-0000000027] fatal error in thread [elasticsearch[instance-0000000027][refresh][T#4]], exiting
java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map
at org.elasticsearch.index.engine.LiveVersionMap.pruneTombstones(LiveVersionMap.java:437) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.engine.InternalEngine.pruneDeletedTombstones(InternalEngine.java:2378) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.engine.InternalEngine.maybePruneDeletes(InternalEngine.java:1924) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.shard.IndexShard.lambda$scheduledRefresh$47(IndexShard.java:3940) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.action.ActionListener.run(ActionListener.java:356) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.shard.IndexShard.scheduledRefresh(IndexShard.java:3915) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.IndexService.maybeRefreshEngine(IndexService.java:998) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.IndexService$AsyncRefreshTask.runInternal(IndexService.java:1134) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.common.util.concurrent.AbstractAsyncTask.run(AbstractAsyncTask.java:137) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:917) ~[elasticsearch-8.13.1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1570) ~[?:?]

[instance-0000000027] fatal error in thread [elasticsearch[instance-0000000027][refresh][T#4]], exiting java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map at org.elasticsearch.index.engine.LiveVersionMap.pruneTombstones(LiveVersionMap.java:437) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.engine.InternalEngine.pruneDeletedTombstones(InternalEngine.java:2378) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.engine.InternalEngine.maybePruneDeletes(InternalEngine.java:1924) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.shard.IndexShard.lambda$scheduledRefresh$47(IndexShard.java:3940) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.action.ActionListener.run(ActionListener.java:356) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.shard.IndexShard.scheduledRefresh(IndexShard.java:3915) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.IndexService.maybeRefreshEngine(IndexService.java:998) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.IndexService$AsyncRefreshTask.runInternal(IndexService.java:1134) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.common.util.concurrent.AbstractAsyncTask.run(AbstractAsyncTask.java:137) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:917) ~[elasticsearch-8.13.1.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.lang.Thread.run(Thread.java:1570) ~[?:?]

[instance-0000000027] fatal error in thread [elasticsearch[instance-0000000027][refresh][T#4]], exiting java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map at org.elasticsearch.index.engine.LiveVersionMap.pruneTombstones(LiveVersionMap.java:437) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.engine.InternalEngine.pruneDeletedTombstones(InternalEngine.java:2378) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.engine.InternalEngine.maybePruneDeletes(InternalEngine.java:1924) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.shard.IndexShard.lambda$scheduledRefresh$47(IndexShard.java:3940) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.action.ActionListener.run(ActionListener.java:356) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.shard.IndexShard.scheduledRefresh(IndexShard.java:3915) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.IndexService.maybeRefreshEngine(IndexService.java:998) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.IndexService$AsyncRefreshTask.runInternal(IndexService.java:1134) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.common.util.concurrent.AbstractAsyncTask.run(AbstractAsyncTask.java:137) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:917) ~[elasticsearch-8.13.1.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.lang.Thread.run(Thread.java:1570) ~[?:?]

[instance-0000000027] fatal error in thread [elasticsearch[instance-0000000027][refresh][T#4]], exiting java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map at org.elasticsearch.index.engine.LiveVersionMap.pruneTombstones(LiveVersionMap.java:437) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.engine.InternalEngine.pruneDeletedTombstones(InternalEngine.java:2378) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.engine.InternalEngine.maybePruneDeletes(InternalEngine.java:1924) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.shard.IndexShard.lambda$scheduledRefresh$47(IndexShard.java:3940) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.action.ActionListener.run(ActionListener.java:356) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.shard.IndexShard.scheduledRefresh(IndexShard.java:3915) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.IndexService.maybeRefreshEngine(IndexService.java:998) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.index.IndexService$AsyncRefreshTask.runInternal(IndexService.java:1134) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.common.util.concurrent.AbstractAsyncTask.run(AbstractAsyncTask.java:137) ~[elasticsearch-8.13.1.jar:?] at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:917) ~[elasticsearch-8.13.1.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?] at java.lang.Thread.run(Thread.java:1570) ~[?:?]

3) As the problem can happen in different code paths, here are some snippets of stack traces observed so far:

java.lang.ClassCastException: class Ljdk.internal.vm.FillerArray; cannot be cast to class
java.nio.ByteBuffer (Ljdk.internal.vm.FillerArray; and java.nio.ByteBuffer are in module java.base of loader 'bootstrap')
at io.netty.buffer@4.1.107.Final/io.netty.buffer.PoolChunk.allocate(PoolChunk.java:354)
at io.netty.buffer@4.1.107.Final/io.netty.buffer.PoolChunkList.allocate(PoolChunkList.java:108)
at io.netty.buffer@4.1.107.Final/io.netty.buffer.PoolArena.allocateNormal(PoolArena.java:204)
...
java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.concurrent.locks.Lock
at org.elasticsearch.common.util.concurrent.ReleasableLock.acquire(ReleasableLock.java:43) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.translog.Translog.add(Translog.java:578) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:1223) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1072) ~[elasticsearch-8.13.0.jar:?]
...
java.lang.ClassCastException: class Ljdk.internal.vm.FillerArray; cannot be cast to class org.elasticsearch.index.engine.LiveVersionMap$VersionLookup (Ljdk.internal.vm.FillerArray; is in module java.base of loader 'bootstrap'; org.elasticsearch.index.engine.LiveVersionMap$VersionLookup is in module org.elasticsearch.server@8.14.0 of loader 'app')
at org.elasticsearch.stateless@8.14.0/co.elastic.elasticsearch.stateless.engine.StatelessLiveVersionMapArchive.getRamBytesUsed(StatelessLiveVersionMapArchive.java:156)
at org.elasticsearch.server@8.14.0/org.elasticsearch.index.engine.LiveVersionMap.ramBytesUsedForRefresh(LiveVersionMap.java:483)
at org.elasticsearch.server@8.14.0/org.elasticsearch.index.engine.InternalEngine.getIndexBufferRAMBytesUsed(InternalEngine.java:2573)
at org.elasticsearch.server@8.14.0/org.elasticsearch.index.shard.IndexShard.getIndexBufferRAMBytesUsed(IndexShard.java:2355)
...
java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map
at org.apache.lucene.core@9.10.0/org.apache.lucene.index.ReadersAndUpdates.getNumDVUpdates(ReadersAndUpdates.java:168)
at org.apache.lucene.core@9.10.0/org.apache.lucene.index.ReaderPool.anyDocValuesChanges(ReaderPool.java:384)
at org.apache.lucene.core@9.10.0/org.apache.lucene.index.IndexWriter.nrtIsCurrent(IndexWriter.java:5776)
at org.apache.lucene.core@9.10.0/org.apache.lucene.index.StandardDirectoryReader.isCurrent(StandardDirectoryReader.java:455)
at org.apache.lucene.core@9.10.0/org.apache.lucene.index.FilterDirectoryReader.isCurrent(FilterDirectoryReader.java:133)
at org.elasticsearch.server@8.14.0/org.elasticsearch.index.engine.Engine.refreshNeeded(Engine.java:1093)
...
java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map
at org.elasticsearch.index.engine.LiveVersionMap.pruneTombstones(LiveVersionMap.java:437) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.engine.InternalEngine.pruneDeletedTombstones(InternalEngine.java:2378) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.engine.InternalEngine.maybePruneDeletes(InternalEngine.java:1924) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.shard.IndexShard.lambda$scheduledRefresh$47(IndexShard.java:3940) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.action.ActionListener.run(ActionListener.java:356) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.shard.IndexShard.scheduledRefresh(IndexShard.java:3915) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.IndexService.maybeRefreshEngine(IndexService.java:998) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.index.IndexService$AsyncRefreshTask.runInternal(IndexService.java:1134) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.common.util.concurrent.AbstractAsyncTask.run(AbstractAsyncTask.java:137) ~[elasticsearch-8.13.1.jar:?]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:917) ~[elasticsearch-8.13.1.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1570) ~[?:?]
java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Map
at org.apache.lucene.codecs.perfield.PerFieldPostingsFormat$FieldsReader.terms(PerFieldPostingsFormat.java:353) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.CodecReader.terms(CodecReader.java:132) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.FilterLeafReader.terms(FilterLeafReader.java:415) ~[lucene-core-9.10.0.jar:?]
at org.elasticsearch.common.lucene.uid.PerThreadIDVersionAndSeqNoLookup.<init>(PerThreadIDVersionAndSeqNoLookup.java:68) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.lucene.uid.PerThreadIDVersionAndSeqNoLookup.<init>(PerThreadIDVersionAndSeqNoLookup.java:111) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.getLookupState(VersionsAndSeqNoResolver.java:66) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.lucene.uid.VersionsAndSeqNoResolver.timeSeriesLoadDocIdAndVersion(VersionsAndSeqNoResolver.java:140) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.resolveDocVersion(InternalEngine.java:1021) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.planIndexingAsPrimary(InternalEngine.java:1333) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.indexingStrategyForOperation(InternalEngine.java:1310) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.index(InternalEngine.java:1172) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.shard.IndexShard.index(IndexShard.java:1072) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.shard.IndexShard.applyIndexOperation(IndexShard.java:997) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.shard.IndexShard.applyIndexOperationOnPrimary(IndexShard.java:915) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.bulk.TransportShardBulkAction.executeBulkItemRequest(TransportShardBulkAction.java:378) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.bulk.TransportShardBulkAction$2.doRun(TransportShardBulkAction.java:235) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.bulk.TransportShardBulkAction.performOnPrimary(TransportShardBulkAction.java:305) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:151) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.bulk.TransportShardBulkAction.dispatchedShardOperationOnPrimary(TransportShardBulkAction.java:79) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.support.replication.TransportWriteAction$1.doRun(TransportWriteAction.java:216) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.TimedRunnable.doRun(TimedRunnable.java:33) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:984) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:26) ~[elasticsearch-8.13.0.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1570) ~[?:?]
java.lang.IncompatibleClassChangeError: Class Ljdk.internal.vm.FillerArray; does not implement the requested interface java.util.Collection
at org.apache.lucene.index.ReadersAndUpdates.writeFieldUpdates(ReadersAndUpdates.java:554) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.ReaderPool.writeAllDocValuesUpdates(ReaderPool.java:251) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.IndexWriter.writeReaderPool(IndexWriter.java:3982) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.IndexWriter.getReader(IndexWriter.java:598) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.StandardDirectoryReader.doOpenFromWriter(StandardDirectoryReader.java:381) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:355) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.StandardDirectoryReader.doOpenIfChanged(StandardDirectoryReader.java:345) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.FilterDirectoryReader.doOpenIfChanged(FilterDirectoryReader.java:112) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.index.DirectoryReader.openIfChanged(DirectoryReader.java:170) ~[lucene-core-9.10.0.jar:?]
at org.elasticsearch.index.engine.ElasticsearchReaderManager.refreshIfNeeded(ElasticsearchReaderManager.java:48) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.ElasticsearchReaderManager.refreshIfNeeded(ElasticsearchReaderManager.java:27) ~[elasticsearch-8.13.0.jar:?]
at org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:167) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.search.ReferenceManager.maybeRefreshBlocking(ReferenceManager.java:240) ~[lucene-core-9.10.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(InternalEngine.java:461) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine$ExternalReaderManager.refreshIfNeeded(InternalEngine.java:441) ~[elasticsearch-8.13.0.jar:?]
at org.apache.lucene.search.ReferenceManager.doMaybeRefresh(ReferenceManager.java:167) ~[lucene-core-9.10.0.jar:?]
at org.apache.lucene.search.ReferenceManager.maybeRefresh(ReferenceManager.java:213) ~[lucene-core-9.10.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.refresh(InternalEngine.java:2047) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.lambda$maybeRefresh$8(InternalEngine.java:2020) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.ActionListener.completeWith(ActionListener.java:270) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.engine.InternalEngine.maybeRefresh(InternalEngine.java:2020) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.shard.IndexShard.lambda$scheduledRefresh$47(IndexShard.java:3935) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.action.ActionListener.run(ActionListener.java:356) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.shard.IndexShard.scheduledRefresh(IndexShard.java:3915) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.IndexService.maybeRefreshEngine(IndexService.java:998) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.index.IndexService$AsyncRefreshTask.runInternal(IndexService.java:1134) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.AbstractAsyncTask.run(AbstractAsyncTask.java:137) ~[elasticsearch-8.13.0.jar:?]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:917) ~[elasticsearch-8.13.0.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1570) ~[?:?]

Cause

The issue is being investigated by Elastic in java.lang.ClassCastException: class Ljdk.internal.vm.FillerArray; cannot be cast to class, after upgrading to 8.13.0.

The same issue is linked to this JDK issue which is currently under investigation: java.lang.ClassCastException: class Ljdk.internal.vm.FillerArray; cannot be cast to class java.nio.ByteBuffer (Ljdk.internal.vm.FillerArray; and java.nio.ByteBuffer are in module java.base of loader 'bootstrap').

Workaround

  • For Liferay Self-hosted environments: users can install and use JDK version 21.0.2 instead (see: Java (JVM) Verssion). A resolution is available (see below).
  • For Liferay Saas and Paas environments: No action required.

Resolution

Elasticsearch 7.17.20 will be bundled with JDK 21.0.2 (Downgrade the bundled JDK to JDK 21.0.2).


1 Elasticsearch 8.13.x is currently not a compatible search engine version for Liferay environments. The compatibilty testing is expected to take place in 2024 Q2.

Elastic, Elasticsearch, and X-Pack are trademarks of Elasticsearch BV, registered in the U.S. and in other countries.

Did this article resolve your issue ?

Legacy Knowledge Base