ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Gidaspov (Jira)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-14584) Server node fails on remote filter with static initializer deployment if client disconnects
Date Thu, 01 Jul 2021 09:16:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-14584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Alexey Gidaspov updated IGNITE-14584:
-------------------------------------
    Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes Required)

> Server node fails on remote filter with static initializer deployment if client disconnects
> -------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-14584
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14584
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.10
>            Reporter: Igor Belyakov
>            Assignee: Igor Belyakov
>            Priority: Major
>             Fix For: 2.11
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Cluster contains 1 server and 1 client node. PeerClassLoading is turned on.
>  1. Client node deploys CQ with remote filter, server node doesn't have classes required
for remote filter in classpath. Remote filter should has a class with static initializer,
which has a type that should be deployed:
>  
> {code:java}
> public class TestClass {
>  static {
>  TestSubClass testSubClass = new TestSubClass();
>  }
> }
> public class TestSubClass {
> }
> {code}
>  
> 2. When TestSubClass deployment is in progress on the server node, the client node is
stopped
>  3. The server node is unable to deploy TestSubClass and static initializer can't be
finished, as result java.lang.ExceptionInInitializerError happens in discovery thread and
server node fails:
> {code:java}
> [16:56:23,829][WARNING][disco-notifier-worker-#49%srv1%][GridDeploymentPerVersionStore]
Failed to send class-loading request to node (is node alive?) [node=72513f9a-8053-410c-bc4f-aa4935e06661,
clsName=TestSubClass, clsPath=TestSubClass.class, clsLdrId=1ca6c09f471-72513f9a-8053-410c-bc4f-aa4935e06661,
parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2][16:56:23,829][WARNING][disco-notifier-worker-#49%srv1%][GridDeploymentPerVersionStore]
Failed to send class-loading request to node (is node alive?) [node=72513f9a-8053-410c-bc4f-aa4935e06661,
clsName=TestSubClass, clsPath=TestSubClass.class, clsLdrId=1ca6c09f471-72513f9a-8053-410c-bc4f-aa4935e06661,
parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2]
> [16:56:23,829][SEVERE][disco-notifier-worker-#49%srv1%][GridDiscoveryManager] Exception
in discovery notifier worker thread.java.lang.ExceptionInInitializerError 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:9066)
at org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:325)
at org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:640)
at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1755)
at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
at org.apache.ignite.internal.binary.BinaryReaderExImpl.readField(BinaryReaderExImpl.java:1976)
at org.apache.ignite.internal.binary.BinaryFieldAccessor$DefaultFinalClassAccessor.read0(BinaryFieldAccessor.java:702)
at org.apache.ignite.internal.binary.BinaryFieldAccessor.read(BinaryFieldAccessor.java:187)
at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:887)
at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1762)
at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1714)
at org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:315)
at org.apache.ignite.internal.binary.GridBinaryMarshaller.deserialize(GridBinaryMarshaller.java:300)
at org.apache.ignite.internal.binary.BinaryMarshaller.unmarshal0(BinaryMarshaller.java:100)
at org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:80)
at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10573) at org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10602)
at org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryDeployableObject.unmarshal(CacheContinuousQueryDeployableObject.java:96)
at org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.p2pUnmarshal(CacheContinuousQueryHandler.java:1308)
at org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandler.p2pUnmarshal(CacheContinuousQueryHandler.java:1283)
at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.processStartRequest(GridContinuousProcessor.java:1408)
at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor.access$400(GridContinuousProcessor.java:113)
at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$2.onCustomEvent(GridContinuousProcessor.java:205)
at org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$2.onCustomEvent(GridContinuousProcessor.java:196)
at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.onDiscovery0(GridDiscoveryManager.java:655)
at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$4.lambda$onDiscovery$0(GridDiscoveryManager.java:526)
at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body0(GridDiscoveryManager.java:2741)
at org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryMessageNotifierWorker.body(GridDiscoveryManager.java:2779)
at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) at java.lang.Thread.run(Thread.java:748)Caused
by: class org.apache.ignite.IgniteException: Failed to send class-loading request to node
(is node alive?) [node=72513f9a-8053-410c-bc4f-aa4935e06661, clsName=TestSubClass, clsPath=TestSubClass.class,
clsLdrId=1ca6c09f471-72513f9a-8053-410c-bc4f-aa4935e06661, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2]
at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:677)
at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.findClass(GridDeploymentClassLoader.java:513)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.loadClass(GridDeploymentClassLoader.java:442)
at TestClass.<clinit>(TestClass.java:22) 
> ... 32 more
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to send class-loading
request to node (is node alive?) [node=72513f9a-8053-410c-bc4f-aa4935e06661, clsName=TestSubClass,
clsPath=TestSubClass.class, clsLdrId=1ca6c09f471-72513f9a-8053-410c-bc4f-aa4935e06661, parentClsLdr=sun.misc.Launcher$AppClassLoader@18b4aac2]
at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:627)

> ... 36 more 
> Suppressed: java.util.concurrent.TimeoutException at org.apache.ignite.internal.managers.deployment.GridDeploymentCommunication.sendResourceRequest(GridDeploymentCommunication.java:476)
at org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader.sendClassRequest(GridDeploymentClassLoader.java:611)

> ... 36 more{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message