You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "B. T. (Jira)" <ji...@apache.org> on 2022/10/11 07:12:00 UTC

[jira] [Created] (IGNITE-17866) ScanQuery with IgniteBiPredicate fails with Exception

B. T. created IGNITE-17866:
------------------------------

             Summary: ScanQuery with IgniteBiPredicate fails with Exception
                 Key: IGNITE-17866
                 URL: https://issues.apache.org/jira/browse/IGNITE-17866
             Project: Ignite
          Issue Type: Bug
          Components: thin client
    Affects Versions: 2.13
         Environment: Java version 11.  Ignite is configured with standard settings with client jar supplied in \{IGNITE_HOME}/libs directory.  
            Reporter: B. T.


Ignite started with all the client classes made available in the \{IGNITE_HOME}/libs directory.

The ScanQuery works fine without predicate from java thin client, but it fails with below exception when IgniteBiPredicate is supplied. 

IgniteBiPredicate is being supplied as standard out of the box as described in the documentation, no custom implementation of IgniteBiPredicate supplied. 

Java version 11. 

*Documentation Reference:*

[https://ignite.apache.org/docs/2.13.0/thin-clients/java-thin-client#executing-scan-queries]

{{ClientCache<Integer, Person> personCache = client.getOrCreateCache("personCache");Query<Cache.Entry<Integer, Person>> qry = new ScanQuery<Integer, Person>((i, p) -> p.getName().contains("Smith"));try (QueryCursor<Cache.Entry<Integer, Person>> cur = personCache.query(qry)) {for (Cache.Entry<Integer, Person> entry : cur) {// Process the entry ...}}}}

*Exception on server:*

[client-connector-#88][BinaryContext] Failed to deserialize object [typeName=java.lang.invoke.SerializedLambda]

class org.apache.ignite.binary.BinaryObjectException: Failed to execute readResolve() method on SerializedLambda

at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:961)
        at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize0(BinaryReaderExImpl.java:1779)
        at org.apache.ignite.internal.binary.BinaryReaderExImpl.deserialize(BinaryReaderExImpl.java:1731)
        at org.apache.ignite.internal.binary.BinaryObjectImpl.deserializeValue(BinaryObjectImpl.java:821)
        at org.apache.ignite.internal.binary.BinaryObjectImpl.deserialize(BinaryObjectImpl.java:662)
        at org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.createFilter(ClientCacheScanQueryRequest.java:117)
        at org.apache.ignite.internal.processors.platform.client.cache.ClientCacheScanQueryRequest.process(ClientCacheScanQueryRequest.java:83)
        at org.apache.ignite.internal.processors.platform.client.ClientRequestHandler.handle(ClientRequestHandler.java:101)
        at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:204)
        at org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:55)
        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:125)
        at org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at org.apache.ignite.internal.binary.BinaryClassDescriptor.read(BinaryClassDescriptor.java:950)
        ... 17 more
Caused by: java.lang.NoSuchMethodException:

 

*Exception on Thin Client:*

org.apache.ignite.client.ClientException: Ignite failed to process request [7]: Failed to deserialize object [typeName=java.lang.invoke.SerializedLambda] (server status code [1])
    at org.apache.ignite.internal.client.thin.TcpClientChannel.convertException(TcpClientChannel.java:359)
    at org.apache.ignite.internal.client.thin.TcpClientChannel.receive(TcpClientChannel.java:319)
    at org.apache.ignite.internal.client.thin.TcpClientChannel.service(TcpClientChannel.java:237)
    at org.apache.ignite.internal.client.thin.ReliableChannel.lambda$service$1(ReliableChannel.java:167)
    at org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:764)
    at org.apache.ignite.internal.client.thin.ReliableChannel.applyOnDefaultChannel(ReliableChannel.java:731)
    at org.apache.ignite.internal.client.thin.ReliableChannel.service(ReliableChannel.java:167)
    at org.apache.ignite.internal.client.thin.GenericQueryPager.next(GenericQueryPager.java:93)
    at org.apache.ignite.internal.client.thin.ClientQueryCursor$1.nextPage(ClientQueryCursor.java:93)
    at org.apache.ignite.internal.client.thin.ClientQueryCursor$1.hasNext(ClientQueryCursor.java:76)
    at com.autotrader.services.impl.IgniteClientService.query(IgniteClientService.java:212)
    ... 72 more
Caused by: org.apache.ignite.internal.client.thin.ClientServerError: Ignite failed to process request [7]: Failed to deserialize object [typeName=java.lang.invoke.SerializedLambda] (server status code [1])
    at org.apache.ignite.internal.client.thin.TcpClientChannel.processNextMessage(TcpClientChannel.java:449)
    at org.apache.ignite.internal.client.thin.TcpClientChannel.onMessage(TcpClientChannel.java:194)
    at org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientConnection.onMessage(GridNioClientConnection.java:86)
    at org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientListener.onMessage(GridNioClientListener.java:56)
    at org.apache.ignite.internal.client.thin.io.gridnioserver.GridNioClientListener.onMessage(GridNioClientListener.java:30)
    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.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:116)
    at org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
    at org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:3734)
    at org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:175)
    at org.apache.ignite.internal.util.nio.GridNioServer$ByteBufferNioClientWorker.processRead(GridNioServer.java:1211)
    at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeysOptimized(GridNioServer.java:2508)
    at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:2273)
    at org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1910)
    at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
    at java.base/java.lang.Thread.run(Thread.java:834)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)