[
https://issues.apache.org/jira/browse/IGNITE-24559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18032426#comment-18032426
]
Filipp Shergalis commented on IGNITE-24559:
-------------------------------------------
[~ascherbakov]
Encountered the same issue in QA tests that accidentally restarted node with
Java 11 instead of Java 17. Caused by *ByteBuffer* in ScaleCube's
{*}GetMetadataResponse{*}:
{code:java}
final class GetMetadataResponse implements Externalizable {
private static final long serialVersionUID = 1L;
/** Target member with metadata. */
private Member member;
/** Cluster member metadata. */
private ByteBuffer metadata;{code}
This causes *DefaultUserObjectMarshaller* to load java internal classes
descriptors when deserialising corresponding *ScaleCubeMessage*
> The cluster fails to init if nodes are running on different JDK versions
> ------------------------------------------------------------------------
>
> Key: IGNITE-24559
> URL: https://issues.apache.org/jira/browse/IGNITE-24559
> Project: Ignite
> Issue Type: Bug
> Reporter: Alexey Scherbakov
> Priority: Major
> Labels: ignite-3
>
> # Start node1 using java-21
> # Start node2 using java-11
> # Init cluster from CLI
> Actual behavior:
> Init fails with exceptions
> {noformat}
> 2025-02-18 15:47:37:240 +0000
> [WARNING][node2-srv-worker-18][DefaultChannelPipeline] An exceptionCaught()
> event was fired, and it reached at the tail of the pipeline. It usually means
> the last handler in the pipeline did not handle the exception.
> io.netty.handler.codec.DecoderException:
> org.apache.ignite.internal.network.serialization.SerializationException:
> Class java.lang.foreign.MemorySegment is not found
> at
> io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:500)
> at
> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
> at
> io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
> at
> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
> at
> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1357)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
> at
> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
> at
> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:868)
> at
> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:796)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:732)
> at
> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:658)
> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
> at
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:998)
> at
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
> at
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
> at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by:
> org.apache.ignite.internal.network.serialization.SerializationException:
> Class java.lang.foreign.MemorySegment is not found{noformat}
> Expected behavior:
> Init finishes
--
This message was sent by Atlassian Jira
(v8.20.10#820010)