You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Igor Belyakov (Jira)" <ji...@apache.org> on 2021/04/16 16:44:00 UTC

[jira] [Created] (IGNITE-14584) Server node fails on remote filter with static initializer deployment if client disconnects

Igor Belyakov created IGNITE-14584:
--------------------------------------

             Summary: 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


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 moreCaused 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)