[
https://issues.apache.org/jira/browse/IGNITE-14725?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Surkov Aleksandr updated IGNITE-14725:
--------------------------------------
Description:
When the version of byte code on server(1.8) is older than on the client(11),
then some operations can lead to the fall of the cluster.
Reproducer is attached. Logs from the server and client are located in the
_errors_ folder.
Steps to reproduce the situation:
1. Start the server using Java 8(target byte code version
8)(org.apache.ignite.SimpleServer#main)
2. Start the client using Java 11(target byte code version 11), which will run
ScanQuery(org.apache.ignite.ThickClient#main)
{code:java}
SEVERE: Failed to process message
[senderId=53c4266d-8b74-480b-bbf5-670bd94c4192, msg=GridCacheQueryRequest
[id=13, cacheName=cache_scan, type=SCAN, fields=false, clause=null, limit=0,
clsName=null, keyValFilter=null, rdc=null, trans=null, pageSize=1024,
incBackups=false, cancel=false, incMeta=false, all=false, keepBinary=false,
subjId=53c4266d-8b74-480b-bbf5-670bd94c4192, taskHash=0, part=-1,
topVer=AffinityTopologyVersion [topVer=2, minorTopVer=1], mvccSnapshot=null,
flags=0, super=GridCacheIdMessage [cacheId=29045018, super=GridCacheMessage
[msgId=14, depInfo=GridDeploymentInfoBean
[clsLdrId=74845d87971-53c4266d-8b74-480b-bbf5-670bd94c4192, depMode=SHARED,
userVer=0, locDepOwner=false, participants=null],
lastAffChangedTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=1],
err=null, skipPrepare=false]]]]
java.lang.UnsupportedClassVersionError: org/apache/ignite/ThickClient has been
compiled by a more recent version of the Java Runtime (class file version
55.0), this version of the Java Runtime only recognizes class file versions up
to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.lang.ClassLoader.defineClass(ClassLoader.java:635)
at
org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:543)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at
org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:461)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9014)
at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8945)
at
org.apache.ignite.internal.managers.deployment.GridDeployment.deployedClass(GridDeployment.java:460)
at
org.apache.ignite.internal.managers.deployment.GridDeploymentPerVersionStore.getDeployment(GridDeploymentPerVersionStore.java:441)
at
org.apache.ignite.internal.managers.deployment.GridDeploymentManager.getGlobalDeployment(GridDeploymentManager.java:517)
at
org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.tryToloadClassFromCacheDep(GridCacheDeploymentManager.java:816)
at
org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.findClass(GridCacheDeploymentManager.java:783)
at
org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.loadClass(GridCacheDeploymentManager.java:760)
at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9012)
at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8957)
at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:376)
at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:693)
at
org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1641)
at
org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1578)
at
org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1555)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.readClass(BinaryReaderExImpl.java:383)
at
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:907)
at
org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:703)
at
org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:188)
at
org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:932)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1769)
at
org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1721)
at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:319)
at
org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:304)
at
org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:101)
at
org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:80)
at
org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10490)
at
org.apache.ignite.internal.processors.cache.query.GridCacheQueryRequest.finishUnmarshal(GridCacheQueryRequest.java:383)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1625)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:586)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109)
at
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308)
at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1908)
at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1529)
at
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
at
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1422)
at
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
{code}
was:
When the version of Java on server(1.8) is older than on the client(11), then
some operations can lead to the fall of the cluster.
Reproducer is attached. Logs from the server and client are located in the
_errors_ folder.
Steps to reproduce the situation:
1. Start the server using Java 8(org.apache.ignite.SimpleServer#main)
2. Start the client using Java 11, which will run
ScanQuery(org.apache.ignite.ThickClient#main)
> Cluster crashes when the client has a higher byte code version than server
> --------------------------------------------------------------------------
>
> Key: IGNITE-14725
> URL: https://issues.apache.org/jira/browse/IGNITE-14725
> Project: Ignite
> Issue Type: Bug
> Affects Versions: 2.10
> Reporter: Surkov Aleksandr
> Priority: Major
> Attachments: different-java.zip
>
>
> When the version of byte code on server(1.8) is older than on the client(11),
> then some operations can lead to the fall of the cluster.
> Reproducer is attached. Logs from the server and client are located in the
> _errors_ folder.
> Steps to reproduce the situation:
> 1. Start the server using Java 8(target byte code version
> 8)(org.apache.ignite.SimpleServer#main)
> 2. Start the client using Java 11(target byte code version 11), which will
> run ScanQuery(org.apache.ignite.ThickClient#main)
> {code:java}
> SEVERE: Failed to process message
> [senderId=53c4266d-8b74-480b-bbf5-670bd94c4192, msg=GridCacheQueryRequest
> [id=13, cacheName=cache_scan, type=SCAN, fields=false, clause=null, limit=0,
> clsName=null, keyValFilter=null, rdc=null, trans=null, pageSize=1024,
> incBackups=false, cancel=false, incMeta=false, all=false, keepBinary=false,
> subjId=53c4266d-8b74-480b-bbf5-670bd94c4192, taskHash=0, part=-1,
> topVer=AffinityTopologyVersion [topVer=2, minorTopVer=1], mvccSnapshot=null,
> flags=0, super=GridCacheIdMessage [cacheId=29045018, super=GridCacheMessage
> [msgId=14, depInfo=GridDeploymentInfoBean
> [clsLdrId=74845d87971-53c4266d-8b74-480b-bbf5-670bd94c4192, depMode=SHARED,
> userVer=0, locDepOwner=false, participants=null],
> lastAffChangedTopVer=AffinityTopologyVersion [topVer=2, minorTopVer=1],
> err=null, skipPrepare=false]]]]
> java.lang.UnsupportedClassVersionError: org/apache/ignite/ThickClient has
> been compiled by a more recent version of the Java Runtime (class file
> version 55.0), this version of the Java Runtime only recognizes class file
> versions up to 52.0
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:635)
> at
> org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:543)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
> at
> org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:461)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:348)
> at
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9014)
> at
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8945)
> at
> org.apache.ignite.internal.managers.deployment.GridDeployment.deployedClass(GridDeployment.java:460)
> at
> org.apache.ignite.internal.managers.deployment.GridDeploymentPerVersionStore.getDeployment(GridDeploymentPerVersionStore.java:441)
> at
> org.apache.ignite.internal.managers.deployment.GridDeploymentManager.getGlobalDeployment(GridDeploymentManager.java:517)
> at
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.tryToloadClassFromCacheDep(GridCacheDeploymentManager.java:816)
> at
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.findClass(GridCacheDeploymentManager.java:783)
> at
> org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader.loadClass(GridCacheDeploymentManager.java:760)
> at
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9012)
> at
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8957)
> at
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:376)
> at
> org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:693)
> at
> org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1641)
> at
> org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1578)
> at
> org.apache.ignite.internal.binary.BinaryUtils.doReadClass(BinaryUtils.java:1555)
> at
> org.apache.ignite.internal.binary.BinaryReaderExImpl.readClass(BinaryReaderExImpl.java:383)
> at
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.readFixedType(BinaryFieldAccessor.java:907)
> at
> org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:703)
> at
> org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:188)
> at
> org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:932)
> at
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1769)
> at
> org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1721)
> at
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:319)
> at
> org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:304)
> at
> org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:101)
> at
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:80)
> at
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10490)
> at
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryRequest.finishUnmarshal(GridCacheQueryRequest.java:383)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1625)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:586)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109)
> at
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1908)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1529)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
> at
> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1422)
> at
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)