You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Ilya Kasnacheev <il...@gmail.com> on 2020/04/24 13:14:51 UTC

Re: Unable to run several ContinuousQuery-es in parallel due to: Failed to unmarshal discovery data for component: CONTINUOUS_PROC

Hello!

I remember this question on Stack Overflow, and the situation was, your
callback was binding IgniteCache within its context.

It is recommended to make your CQ callbacks inner static classes (not
lambdas or anonymous inner classes).

Regards,
-- 
Ilya Kasnacheev


чт, 16 апр. 2020 г. в 13:29, AlexBor <vs...@yandex.ru>:

> //Fixed formatting
>
> Hi guys!
>
> I'm trying to play with ContinuousQuery in v2.8.0 with the following setup:
> one server node + couple of client nodes running in different JVMs on the
> same local machine. I'm trying to execute same ContinuousQuery on both
> clients in parallel, but for some reason first one is able to connect and
> execute, however last one is failing with below exception during
> Ignition.getOrStart():
>
> *SEVERE: Failed to unmarshal discovery data for component: CONTINUOUS_PROC
> class org.apache.ignite.IgniteCheckedException: Failed to deserialize
> object
> with given class loader: sun.misc.Launcher$AppClassLoader@18b4aac2*
>
> All subsequent clients are failing until ContinuousQuery cursor is closed.
> So it looks like I can't run query on more than once client at every
> moment.
>
>
> Full trace:
>
> апр 16, 2020 12:59:51 PM org.apache.ignite.logger.java.JavaLogger error
> SEVERE: Failed to unmarshal discovery data for component: CONTINUOUS_PROC
> class org.apache.ignite.IgniteCheckedException: Failed to deserialize
> object
> with given class loader: sun.misc.Launcher$AppClassLoader@18b4aac2
>         at
>
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:132)
>         at
>
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:93)
>         at
>
> org.apache.ignite.internal.util.IgniteUtils.unmarshalZip(IgniteUtils.java:10248)
>         at
>
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalData(DiscoveryDataPacket.java:340)
>         at
>
> org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket.unmarshalGridData(DiscoveryDataPacket.java:155)
>         at
>
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDiscoverySpi.java:2069)
>         at
>
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processNodeAddFinishedMessage(ClientImpl.java:2219)
>         at
>
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.processDiscoveryMessage(ClientImpl.java:2088)
>         at
>
> org.apache.ignite.spi.discovery.tcp.ClientImpl$MessageWorker.body(ClientImpl.java:1930)
>         at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>         at
> org.apache.ignite.spi.discovery.tcp.ClientImpl$1.body(ClientImpl.java:302)
>         at
> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:61)
> Caused by: java.io.InvalidObjectException: Failed to find cache for name:
> MY_CACHE
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheContext.readResolve(GridCacheContext.java:2376)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at
> java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1248)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2076)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>         at
>
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.readExternal(IgniteCacheProxyImpl.java:2192)
>         at
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2116)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2065)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>         at
>
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.readExternal(GatewayProtectedCacheProxy.java:1706)
>         at
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2116)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2065)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>         at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>         at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>         at
>
> org.apache.ignite.internal.processors.cache.query.continuous.CacheContinuousQueryHandlerV2.readExternal(CacheContinuousQueryHandlerV2.java:179)
>         at
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2116)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2065)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at
> java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2285)
>         at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2209)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>         at java.util.HashMap.readObject(HashMap.java:1409)
>         at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
>         at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at
> java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1158)
>         at
> java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2176)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2067)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>         at
> org.apache.ignite.internal.util.IgniteUtils.readMap(IgniteUtils.java:5409)
>         at
>
> org.apache.ignite.internal.processors.continuous.GridContinuousProcessor$DiscoveryData.readExternal(GridContinuousProcessor.java:2446)
>         at
> java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:2116)
>         at
> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2065)
>         at
> java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)
>         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
>         at
>
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:124)
>         ... 11 more
> Caused by: java.lang.IllegalStateException: Failed to find cache for name:
> MY_CACHE
>         at
>
> org.apache.ignite.internal.processors.cache.GridCacheContext.readResolve(GridCacheContext.java:2371)
>         ... 62 more
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>