[ https://issues.apache.org/jira/browse/IGNITE-2266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov updated IGNITE-2266: ------------------------------------ Fix Version/s: (was: 2.1) 2.2 > Several examples fail with Optimized marshaller > ----------------------------------------------- > > Key: IGNITE-2266 > URL: https://issues.apache.org/jira/browse/IGNITE-2266 > Project: Ignite > Issue Type: Bug > Affects Versions: 1.5.0.final > Environment: Apache Ignite 1.5.0.final build #128 > Reporter: Vasilisa Sidorova > Fix For: 2.2 > > > --------------------------------------------- > DESCRIPTION > --------------------------------------------- > CacheQueryExample and StreamVisitorExample fail if it's running with > Optimized marshaller (instead deafult Binary marshaller) > --------------------------------------------- > STEPS FOR REPRODUCE > --------------------------------------------- > # Build examples in IDE > # Add property Into example-ignite.xml: > {noformat} > <property name="marshaller"> > <bean > class="org.apache.ignite.marshaller.optimized.OptimizedMarshaller"> > <!-- Set to false to allow non-serializable objects in > examples, default is true. --> > <property name="requireSerializable" value="false"/> > </bean> > </property> > {noformat} > # Run CacheQueryExample > --------------------------------------------- > ACTUAL RESULT > --------------------------------------------- > Example fails with exception: > {noformat} > [15:41:02,466][ERROR][sys-#31%null%][GridCacheDistributedQueryManager] > <CacheQueryExamplePersons> Failed to run query [qry=GridCacheQueryInfo > [loc=false, trans=null, rdc=null, qry=GridCacheQueryAdapter [type=SCAN, > clsName=null, clause=null, > filter=o.a.i.examples.datagrid.CacheQueryExample$1@136abff1, part=null, > incMeta=false, metrics=null, pageSize=1024, timeout=0, keepAll=false, > incBackups=false, dedup=false, prj=null, keepBinary=true, > subjId=d4d84708-9109-4706-8454-5cbae2fff7bb, taskHash=0], locFut=null, > sndId=d4d84708-9109-4706-8454-5cbae2fff7bb, reqId=28, incMeta=false, > all=false], node=d4d84708-9109-4706-8454-5cbae2fff7bb] > class org.apache.ignite.IgniteCheckedException: > org.apache.ignite.cache.affinity.AffinityKey cannot be cast to > org.apache.ignite.binary.BinaryObject > at > org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7005) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:166) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CachedResult.iterator(GridCacheQueryManager.java:2825) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1390) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryRequest(GridCacheDistributedQueryManager.java:227) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$7.call(GridCacheDistributedQueryManager.java:764) > at > org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6397) > at > org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:929) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.ClassCastException: > org.apache.ignite.cache.affinity.AffinityKey cannot be cast to > org.apache.ignite.binary.BinaryObject > at > org.apache.ignite.examples.datagrid.CacheQueryExample$1.apply(CacheQueryExample.java:133) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.checkPredicate(GridCacheQueryManager.java:963) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.advance(GridCacheQueryManager.java:929) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.<init>(GridCacheQueryManager.java:874) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.scanIterator(GridCacheQueryManager.java:829) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.executeQuery(GridCacheQueryManager.java:593) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.queryResult(GridCacheQueryManager.java:1687) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.queryResult(GridCacheQueryManager.java:1654) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1385) > ... 8 more > [15:41:02,468][ERROR][sys-#31%null%][GridCacheDistributedQueryManager] > <CacheQueryExamplePersons> Failed to close iterator. > class org.apache.ignite.IgniteCheckedException: > org.apache.ignite.cache.affinity.AffinityKey cannot be cast to > org.apache.ignite.binary.BinaryObject > at > org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7005) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:166) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CachedResult.closeIfNotShared(GridCacheQueryManager.java:2765) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.removeQueryResult(GridCacheQueryManager.java:1721) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1608) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryRequest(GridCacheDistributedQueryManager.java:227) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$7.call(GridCacheDistributedQueryManager.java:764) > at > org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6397) > at > org.apache.ignite.internal.processors.closure.GridClosureProcessor$2.body(GridClosureProcessor.java:929) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.ClassCastException: > org.apache.ignite.cache.affinity.AffinityKey cannot be cast to > org.apache.ignite.binary.BinaryObject > at > org.apache.ignite.examples.datagrid.CacheQueryExample$1.apply(CacheQueryExample.java:133) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.checkPredicate(GridCacheQueryManager.java:963) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.advance(GridCacheQueryManager.java:929) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.<init>(GridCacheQueryManager.java:874) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.scanIterator(GridCacheQueryManager.java:829) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.executeQuery(GridCacheQueryManager.java:593) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.queryResult(GridCacheQueryManager.java:1687) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.queryResult(GridCacheQueryManager.java:1654) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1385) > ... 8 more > [15:41:02] Ignite node stopped OK [uptime=00:00:01:370] > Exception in thread "main" javax.cache.CacheException: class > org.apache.ignite.IgniteCheckedException: Query execution failed: > GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, clsName=null, > clause=null, > filter=org.apache.ignite.examples.datagrid.CacheQueryExample$1@136abff1, > part=null, incMeta=false, metrics=GridCacheQueryMetricsAdapter [minTime=0, > maxTime=0, sumTime=0, avgTime=0.0, execs=0, completed=0, fails=0], > pageSize=1024, timeout=0, keepAll=true, incBackups=false, dedup=false, > prj=null, keepBinary=true, subjId=d4d84708-9109-4706-8454-5cbae2fff7bb, > taskHash=0], rdc=null, trans=null] > at > org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1618) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:181) > at > org.apache.ignite.internal.processors.cache.IgniteCacheProxy$5.onHasNext(IgniteCacheProxy.java:528) > at > org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53) > at > org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45) > at > org.apache.ignite.internal.processors.cache.QueryCursorImpl.getAll(QueryCursorImpl.java:73) > at > org.apache.ignite.examples.datagrid.CacheQueryExample.scanQuery(CacheQueryExample.java:141) > at > org.apache.ignite.examples.datagrid.CacheQueryExample.main(CacheQueryExample.java:100) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) > Caused by: class org.apache.ignite.IgniteCheckedException: Query execution > failed: GridCacheQueryBean [qry=GridCacheQueryAdapter [type=SCAN, > clsName=null, clause=null, > filter=org.apache.ignite.examples.datagrid.CacheQueryExample$1@136abff1, > part=null, incMeta=false, metrics=GridCacheQueryMetricsAdapter [minTime=0, > maxTime=0, sumTime=0, avgTime=0.0, execs=0, completed=0, fails=0], > pageSize=1024, timeout=0, keepAll=true, incBackups=false, dedup=false, > prj=null, keepBinary=true, subjId=d4d84708-9109-4706-8454-5cbae2fff7bb, > taskHash=0], rdc=null, trans=null] > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.checkError(GridCacheQueryFutureAdapter.java:267) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.internalIterator(GridCacheQueryFutureAdapter.java:325) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.next(GridCacheQueryFutureAdapter.java:171) > ... 11 more > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to execute > query on node [query=GridCacheQueryBean [qry=GridCacheQueryAdapter > [type=SCAN, clsName=null, clause=null, > filter=org.apache.ignite.examples.datagrid.CacheQueryExample$1@136abff1, > part=null, incMeta=false, metrics=GridCacheQueryMetricsAdapter [minTime=0, > maxTime=0, sumTime=0, avgTime=0.0, execs=0, completed=0, fails=0], > pageSize=1024, timeout=0, keepAll=true, incBackups=false, dedup=false, > prj=null, keepBinary=true, subjId=d4d84708-9109-4706-8454-5cbae2fff7bb, > taskHash=0], rdc=null, trans=null], > nodeId=07de5cf6-2d2b-463c-abeb-6bd4c12feba6] > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryFutureAdapter.onPage(GridCacheQueryFutureAdapter.java:390) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryResponse(GridCacheDistributedQueryManager.java:395) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.access$000(GridCacheDistributedQueryManager.java:60) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$1.apply(GridCacheDistributedQueryManager.java:90) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$1.apply(GridCacheDistributedQueryManager.java:88) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:582) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:280) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$300(GridCacheIoManager.java:80) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:1085) > at > org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2236) > at > org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1003) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$1800(GridIoManager.java:103) > at > org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:972) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > Caused by: class org.apache.ignite.IgniteCheckedException: > org.apache.ignite.cache.affinity.AffinityKey cannot be cast to > org.apache.ignite.binary.BinaryObject > at > org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7005) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:166) > at > org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$CachedResult.iterator(GridCacheQueryManager.java:2825) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1390) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager.processQueryRequest(GridCacheDistributedQueryManager.java:227) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$2.apply(GridCacheDistributedQueryManager.java:105) > at > org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$2.apply(GridCacheDistributedQueryManager.java:103) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:582) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:280) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:204) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:80) > at > org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:163) > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103) > at > org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784) > ... 3 more > Caused by: java.lang.ClassCastException: > org.apache.ignite.cache.affinity.AffinityKey cannot be cast to > org.apache.ignite.binary.BinaryObject > at > org.apache.ignite.examples.datagrid.CacheQueryExample$1.apply(CacheQueryExample.java:133) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.checkPredicate(GridCacheQueryManager.java:963) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.advance(GridCacheQueryManager.java:929) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$5.<init>(GridCacheQueryManager.java:874) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.scanIterator(GridCacheQueryManager.java:829) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.executeQuery(GridCacheQueryManager.java:593) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.queryResult(GridCacheQueryManager.java:1687) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.queryResult(GridCacheQueryManager.java:1654) > at > org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.runQuery(GridCacheQueryManager.java:1385) > ... 14 more > {noformat} > --------------------------------------------- > EXPECTED RESULT > --------------------------------------------- > Example run without any exceptions > --------------------------------------------- > ADDITIONAL INFO > --------------------------------------------- > Exception for StreamVisitorExample is: > {noformat} > [16:02:41,594][ERROR][pub-#15%null%][DataStreamProcessor] Failed to finish > update job. > java.lang.NullPointerException > at > org.apache.ignite.examples.streaming.StreamVisitorExample$1.apply(StreamVisitorExample.java:91) > at > org.apache.ignite.examples.streaming.StreamVisitorExample$1.apply(StreamVisitorExample.java:79) > at org.apache.ignite.stream.StreamVisitor.receive(StreamVisitor.java:38) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:137) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.processRequest(DataStreamProcessor.java:304) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.access$000(DataStreamProcessor.java:49) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$1.onMessage(DataStreamProcessor.java:79) > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103) > at > org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > [16:02:41,644][ERROR][pub-#4%null%][DataStreamProcessor] Failed to finish > update job. > java.lang.NullPointerException > at > org.apache.ignite.examples.streaming.StreamVisitorExample$1.apply(StreamVisitorExample.java:91) > at > org.apache.ignite.examples.streaming.StreamVisitorExample$1.apply(StreamVisitorExample.java:79) > at org.apache.ignite.stream.StreamVisitor.receive(StreamVisitor.java:38) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:137) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.processRequest(DataStreamProcessor.java:304) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.access$000(DataStreamProcessor.java:49) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$1.onMessage(DataStreamProcessor.java:79) > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103) > at > org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > [16:02:41,683][ERROR][pub-#6%null%][DataStreamProcessor] Failed to finish > update job. > java.lang.NullPointerException > at > org.apache.ignite.examples.streaming.StreamVisitorExample$1.apply(StreamVisitorExample.java:91) > at > org.apache.ignite.examples.streaming.StreamVisitorExample$1.apply(StreamVisitorExample.java:79) > at org.apache.ignite.stream.StreamVisitor.receive(StreamVisitor.java:38) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamerUpdateJob.call(DataStreamerUpdateJob.java:137) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.processRequest(DataStreamProcessor.java:304) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor.access$000(DataStreamProcessor.java:49) > at > org.apache.ignite.internal.processors.datastreamer.DataStreamProcessor$1.onMessage(DataStreamProcessor.java:79) > at > org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:821) > at > org.apache.ignite.internal.managers.communication.GridIoManager.access$1600(GridIoManager.java:103) > at > org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:784) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)