ScanQuery is reporting the following exception while trying to fetch the data
from remote Ignite Server through the Java thing client keeping the
peerClassLoading is enabled, But SqlQuery is fetching the correct result and
is sending it back to the client. 
If Lamda expression is used as filter in the ScanQuery then Ignite Server
reporting "java.lang.IllegalArgumentException: Invalid lambda
deserialization"

Is there any way to use ScanQuery to fetch data from remote server using
Thin Client without copying jar(s) to the remote server(s)?

public class Predicate<K,V> implements IgniteBiPredicate<K,V>
{
        public boolean apply(K e1, V e2) {
                return true;
        }
}


[10:48:39,126][SEVERE][client-connector-#65][ClientListenerNioListener]
Failed to process client request
[req=o.a.i.i.processors.platform.client.cache.ClientCacheScanQueryRequest@504d875d]
class org.apache.ignite.binary.BinaryInvalidTypeException:
XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
        at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:697)
        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.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:798)
        at
org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:640)
        at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.createFilter(ClientCacheScanQueryRequest.java:126)
        at
org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.process(ClientCacheScanQueryRequest.java:92)
        at
org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:57)
        at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:160)
        at
org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:44)
        at
org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
        at
org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
        at
org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
        at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
        at
org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException:
XXX.datamigration.imdg.abstractionlayer.connections.impl.ignite.Predicate
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at
org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:8608)
        at
org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:349)
        at
org.apache.ignite.internal.binary.BinaryContext.descriptorForTypeId(BinaryContext.java:688)




--
Sent from: http://apache-ignite-users.70518.x6.nabble.com/

Reply via email to