GridGain Community Edition

Expand all | Collapse all

Scan Query doesn't work with filter!

  • 1.  Scan Query doesn't work with filter!

    Posted 09-30-2020 03:54 AM
    Hi,

    I'm trying to use ScanQuery with a simple filter:


    But I got a null pointer exception.

    "Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause"

    If I remove the filter the ScanQuery works fine. Any clues? Thanks

    Best regards, João



    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------


  • 2.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 04:59 AM
    Hello!

    Please provide complete stack trace.

    Is it possible that cache is null or type is null?

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 3.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 05:15 AM

    Hello IIya, thanks for your reply. Cache is not null neither type for sure.

    java.lang.NullPointerException: null
    at com.ignite.adapter.AnimalIgniteServiceAdapter.retrieveAllBySubType(AnimalIgniteServiceAdapter.java:101) ~[classes/:?]
    at com.core.adapter.AnimalApiServiceAdapter.fetchAllAnimals(AnimalApiServiceAdapter.java:39) ~[classes/:?]
    at com.rest.controller.AnimalApiController.listAnimal(AnimalApiController.java:59) ~[classes/:?]
    at com.rest.controller.AnimalApiController$$FastClassBySpringCGLIB$$e447d7e9.invoke(<generated>) ~[classes/:?]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:120) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at com.rest.controller.AnimalApiController$$EnhancerBySpringCGLIB$$a4692cd4.listAnimal(<generated>) ~[classes/:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at com.commons.common.config.RequestLoggingFilterConfig$CustomCommonsRequestLoggingFilter.doFilterInternal(RequestLoggingFilterConfig.java:59) ~[common-0.22.0.jar:?]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108) ~[spring-boot-actuator-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at io.opentracing.contrib.web.servlet.filter.TracingFilter.doFilter(TracingFilter.java:189) ~[opentracing-web-servlet-filter-0.4.0.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1591) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at java.lang.Thread.run(Thread.java:834) [?:?]



    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 4.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 05:43 AM
    Hello!

    Which line is that (101)? Is it possible that cursor is null? Can you check?

    Thanks,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 5.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 08:56 AM
    The cursor seems not to be null, but instead it gives CacheException. Many thanks!



    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 6.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 09:28 AM
    Hello!

    Please try to replace the lambda with a named static inner class to see if it fixes the issue.

    Please also share the full logs from the server node(s) so that we can understand what went wrong with the lambda. Do you have peer class loading enabled?

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 7.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 09:50 AM
    Hello!

    I already replaced the lambda with a named static inner class but it doesn't solved my problem. Same issue unfortunately.

    From the server node I only have metrics logs, nothing unusual. About the peer class loading is set to false. For this to work should I set it to true? What is the impact of this change?

    Best regards


    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 8.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 09:54 AM
    Hello!

    Do you have this class on server nodes? As far as my understanding goes, filter is executed on server nodes, so it needs to be either present there as a class, or be peer loaded.

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 9.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 10:05 AM
    I don't have any classes on the server nodes. So, should I set peer loaded to true? Do I need extra configs in order to work?

    Thank you so much for your fast reply.

    Regards,

    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 10.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 10:09 AM
    Hello!

    Try turning peer class loading to true. If it solves your problem, now you know what to do. If not, please turn on verbose logging and share complete logs from all server nodes.

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 11.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 11:22 AM

    Ok IIya, so I set peer class loading to true and used IgniteCache.withKeepBinary()..but I still got an error on the server and client nodes.

    2020-09-30 19:19:01.866 INFO 17480 --- [ery-#247%Jawwy%] .a.i.i.m.d.GridDeploymentPerVersionStore : Class was deployed in SHARED or CONTINUOUS mode: class com.celfocus.jawwy.fda.product.ignite.repository.ProductRepositoryImpl$2
    2020-09-30 19:19:01.906 INFO 17480 --- [ery-#247%Jawwy%] .a.i.i.m.d.GridDeploymentPerVersionStore : Class was deployed in SHARED or CONTINUOUS mode: class com.celfocus.jawwy.fda.product.ignite.repository.ProductRepositoryImpl
    2020-09-30 19:19:01.908 ERROR 17480 --- [ery-#247%Jawwy%] i.p.c.q.GridCacheDistributedQueryManager : <ProductEntityCache> Failed to run query [qry=GridCacheQueryInfo [loc=false, trans=null, rdc=null, qry=GridCacheQueryAdapter [type=SCAN, clsName=null, clause=null, filter=com.celfocus.jawwy.fda.product.ignite.repository.ProductRepositoryImpl$2@38d5a5e3, transform=null, part=null, incMeta=false, pageSize=1024, timeout=0, incBackups=false, forceLocal=false, dedup=false, prj=null, keepBinary=true, subjId=935aef78-1b09-403f-a2f1-3fdf6496c7f2, taskHash=0, mvccSnapshot=null, dataPageScanEnabled=null], locFut=null, sndId=935aef78-1b09-403f-a2f1-3fdf6496c7f2, reqId=6, incMeta=false, all=false], node=33e3cee8-07c9-48f9-a57c-7c01b56e64c7]

    org.apache.ignite.IgniteException: class org.apache.ignite.internal.binary.BinaryObjectImpl cannot be cast to class com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity (org.apache.ignite.internal.binary.BinaryObjectImpl is in unnamed module of loader 'app'; com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity is in unnamed module of loader org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader @28d66bcd)
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$InternalScanFilter.apply(GridCacheQueryManager.java:3129) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3060) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2952) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:52) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:44) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1141) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryRequest(GridCacheDistributedQueryManager.java:232) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$2.apply(GridCacheDistributedQueryManager.java:108) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$2.apply(GridCacheDistributedQueryManager.java:106) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1142) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:591) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1635) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1255) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager.access$4300(GridIoManager.java:144) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1144) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:50) [ignite-core-8.7.10.jar:8.7.10]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]
    Caused by: java.lang.ClassCastException: class org.apache.ignite.internal.binary.BinaryObjectImpl cannot be cast to class com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity (org.apache.ignite.internal.binary.BinaryObjectImpl is in unnamed module of loader 'app'; com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity is in unnamed module of loader org.apache.ignite.internal.managers.deployment.GridDeploymentClassLoader @28d66bcd)
    at com.celfocus.jawwy.fda.product.ignite.repository.ProductRepositoryImpl$2.apply(ProductRepositoryImpl.java:193) ~[?:?]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$InternalScanFilter.apply(GridCacheQueryManager.java:3126) ~[ignite-core-8.7.10.jar:8.7.10]


    Best regards,



    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 12.  RE: Scan Query doesn't work with filter!

    Posted 09-30-2020 12:08 PM

    Since peer class loading was not working properly I copied all entities and match the classpath on the server node but I still got the same error as in the beginning of this thread:

    "Null pointer exception."

    "Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause"

    Server node shows no errors even in verbose mode.

    Regards,



    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 13.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 01:31 AM
    Hello!

    Please provide full stack trace of that exception.

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 14.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 01:31 AM

    Hello IIya,

    So I could manage things to work but not totally! As I said in the previous comment:

    1º - I copied all entities and match the class path on the server node
    2º - peer class loading to true
    3º - I'm using withkeepbinary() and working with BinaryObject...I need to deserialize() and cast to my object (as shown below in the SS and this works with lambda expression aswell)


    Results: I can make a ScanQuery at the root level of my object (ProductEntity) and I already tested it with a more complex structure (which is NOT a list). The problem is, and it was the purpose of my research, making a ScanQuery inside a List it's not working at all! Below you can see my entities.

    ROOT/MAIN ENTITY:


    ProductRefOrValueEntity



    The ScanQuery to filter for type at root level works fine but at the productRefOrValueEntity doesn't work, since it's a list inside productEntity (root).

    Below is the method I'm using and it's not working:


    Sorry for the long post and many thanks for your help IIya!

    Best regards,


    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 15.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 01:49 AM
    Hello!

    Thank you for going into detail. I suspect that sometimes, getProduct() will return null. To guard against it, please make sure that productEntity.getProduct() is not null before calling getProduct().stream().

    I also don't see the point of keepBinary() if you subsequently cause deserialize(). Usually when keepBinary() is used, getField() is invoked on binaryObject, etc.

    Regards,

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 16.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 02:10 AM
    Hello,

    If I remove withKeepBinary() it doesn't work, I got the same error as shown previously (null pointer exception).

    I just made that null check but I still got null pointer exception

    Below is the stack trace from the server node:
    2020-10-01 10:08:33.039 ERROR 19436 --- [ery-#194%Jawwy%] i.p.c.q.GridCacheDistributedQueryManager : <ProductEntityCache> Failed to run query [qry=GridCacheQueryInfo [loc=false, trans=null, rdc=null, qry=GridCacheQueryAdapter [type=SCAN, clsName=null, clause=null, filter=com.celfocus.jawwy.fda.product.ignite.repository.ProductRepositoryImpl$$Lambda$1119/0x00000001009c6040@3c823997, transform=null, part=null, incMeta=false, pageSize=1024, timeout=0, incBackups=false, forceLocal=false, dedup=false, prj=null, keepBinary=false, subjId=db31be00-c0e0-428b-8cbe-2b9eb50df14c, taskHash=0, mvccSnapshot=null, dataPageScanEnabled=null], locFut=null, sndId=db31be00-c0e0-428b-8cbe-2b9eb50df14c, reqId=4, incMeta=false, all=false], node=5f7d91d2-7f01-49b5-87ed-4cf19d223ebc]

    org.apache.ignite.IgniteException: class com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity cannot be cast to class org.apache.ignite.binary.BinaryObject (com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity and org.apache.ignite.binary.BinaryObject are in unnamed module of loader 'app')
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$InternalScanFilter.apply(GridCacheQueryManager.java:3129) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:3060) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2952) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:52) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:44) ~[ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1141) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryRequest(GridCacheDistributedQueryManager.java:232) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$2.apply(GridCacheDistributedQueryManager.java:108) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$2.apply(GridCacheDistributedQueryManager.java:106) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1142) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:591) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1635) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1255) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager.access$4300(GridIoManager.java:144) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1144) [ignite-core-8.7.10.jar:8.7.10]
    at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:50) [ignite-core-8.7.10.jar:8.7.10]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at java.lang.Thread.run(Thread.java:834) [?:?]
    Caused by: java.lang.ClassCastException: class com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity cannot be cast to class org.apache.ignite.binary.BinaryObject (com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity and org.apache.ignite.binary.BinaryObject are in unnamed module of loader 'app')
    at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$InternalScanFilter.apply(GridCacheQueryManager.java:3126) ~[ignite-core-8.7.10.jar:8.7.10]
    ... 22 more


    And from the client node:
    2020-10-01 10:08:33.093 ERROR 33052 --- [nio-9100-exec-1] o.a.c.c.C.[.[.[.[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause

    java.lang.NullPointerException: null
    at com.celfocus.jawwy.fda.product.ignite.adapter.ProductInventoryIgniteServiceAdapter.retrieveAllBySubType(ProductInventoryIgniteServiceAdapter.java:101) ~[classes/:?]
    at com.celfocus.jawwy.fda.product.core.adapter.ProductInventoryApiServiceAdapter.fetchAllProducts(ProductInventoryApiServiceAdapter.java:39) ~[classes/:?]
    at com.celfocus.jawwy.fda.product.rest.controller.tmf.ProductApiController.listProduct(ProductApiController.java:59) ~[classes/:?]
    at com.celfocus.jawwy.fda.product.rest.controller.tmf.ProductApiController$$FastClassBySpringCGLIB$$e447d7e9.invoke(<generated>) ~[classes/:?]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:120) ~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689) ~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at com.celfocus.jawwy.fda.product.rest.controller.tmf.ProductApiController$$EnhancerBySpringCGLIB$$a5d00178.listProduct(<generated>) ~[classes/:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at com.celfocus.jawwy.fda.commons.common.config.RequestLoggingFilterConfig$CustomCommonsRequestLoggingFilter.doFilterInternal(RequestLoggingFilterConfig.java:59) ~[common-0.22.0.jar:?]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108) ~[spring-boot-actuator-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at io.opentracing.contrib.web.servlet.filter.TracingFilter.doFilter(TracingFilter.java:189) ~[opentracing-web-servlet-filter-0.4.0.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1591) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.29.jar:9.0.29]
    at java.lang.Thread.run(Thread.java:834) [?:?]


    Best regards,


    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 17.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 02:16 AM
    Hello!

    "class com.celfocus.jawwy.fda.product.ignite.entity.ProductEntity cannot be cast to class org.apache.ignite.binary.BinaryObject"

    This probably means that the cache is not in keepBinary state. Can you try cache.withKeepBinary().query() instead?

    Please note that productEntity.getProduct().isEmpty() will still throw a NullPointerException if getProduct returns a null list. Please replace it with a proper null check.

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 18.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 03:27 AM

    Hello!

    So as I said earlier I need withKeepBinary() for this to work. About the null check I change it to:


    Still got the same error (null pointer exception)


    Best regards,


    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 19.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 04:31 AM

    Hello!

    Sorry Ilya I forgot to attach this SS:



    Best regards,


    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 20.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 04:35 AM
    Hello!

    If you don't get it working either way, keepBinary does not give you any good. You may add more and more problems on top of the existing one.

    It seems that NPE is thrown in your code. Please guard all method invocations on the line 101 to catch the one which turns out to be null. What's the line 101 now?

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 21.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 05:00 AM

    So I have guarded all the method invocations on the repository side, as shown in the SS below:


    As you can see above in debug mode it doesn't stop in line 36 neither 39. For the line 46 I evaluate the expression cursor.getAll() and I got this error:


    About the line 101 that you are talking about, it's only the mapping to our DTO by mapstruct.
    Once again, thank you so much for your time Ilya!

    Best regards,


    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 22.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 05:56 AM
    Finally I manage to make things work, and I made a table that I'll share with you:

    I'm just confused the way this works because, I need to have entities in the server side plus peer class loader set to TRUE.
    Thank you so much for your help Ilya!


    Best regards,

    ------------------------------
    João Sousa
    EAI Developer
    Celfocus
    ------------------------------



  • 23.  RE: Scan Query doesn't work with filter!

    Posted 10-01-2020 06:48 AM
    Hello!

    Yes, this table makes sense. The only confusing part here is why you need to use keepBinary with lists.

    Having peer class loading and models on server node seem to be requirement in your case (keepBinary or not, since you are using deserialize()).

    Regards,

    ------------------------------
    Ilya Kasnacheev
    Community Support Specialist
    GridGain
    ------------------------------



  • 24.  RE: Scan Query doesn't work with filter!