Vasilisa Sidorova created IGNITE-2266: ------------------------------------------
Summary: 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 Environment: Apache Ignite 1.5.0.final build #128 Reporter: Vasilisa Sidorova Fix For: 1.5 --------------------------------------------- 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.3.4#6332)