[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14974802#comment-14974802 ] Andrey Gura edited comment on IGNITE-1526 at 10/26/15 6:44 PM: --- 1) Fixed. 2) Test added. PR updated. The only reason to replace {{OptimizedMarshaller}} with {{JdkMarshaller}} is {{BigInteger}}-like classes. But problem is solved. So I don't see any other reasons for it. was (Author: agura): 1) Fixed. 2) Test added. PR updated. The only reason to replace {{OptimizedMarshaller}} with {{JdkMarshaller}} is {{BigInteger}}-like classes. But problem is solved. So I don see any other reasons for it. > IBM JDK is not fully supported by the platfrom > -- > > Key: IGNITE-1526 > URL: https://issues.apache.org/jira/browse/IGNITE-1526 > Project: Ignite > Issue Type: Bug >Reporter: Denis Magda >Assignee: Andrey Gura >Priority: Blocker > Fix For: 1.5 > > > There are several issue related to IBM JDK. > 1) It's not possible to compile the platform using IBM JDK ver 1.7; > 2) Besides of the fact that two IBM nodes can connect to each other some > functionality still doesn't work. As an example > {{CacheClientPortablePutGetExample}} fails with the following stack trace > {noformat} > [14:38:56,930][ERROR][grid-nio-worker-0-#26%null%][TcpCommunicationSpi] > Caught unhandled exception in NIO worker thread (restart the node). > class org.apache.ignite.IgniteException: Invalid field type: 0 > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readRemovedField(PortableDirectMessageReader.java:670) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readFieldHeader(PortableDirectMessageReader.java:520) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readMessage(PortableDirectMessageReader.java:339) > at > org.apache.ignite.internal.managers.communication.GridIoMessage.readFrom(GridIoMessage.java:248) > at > org.apache.ignite.internal.util.nio.GridDirectParser.decode(GridDirectParser.java:76) > at > org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:103) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridConnectionBytesVerifyFilter.onMessageReceived(GridConnectionBytesVerifyFilter.java:122) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:2078) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:172) > at > org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processRead(GridNioServer.java:858) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeys(GridNioServer.java:1397) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:1339) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1223) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108) > at java.lang.Thread.run(Thread.java:801) > {noformat} > 3) Oracle JVM based server node fails to connect to IBM server node producing > the stack trace below. Tested with JDK and Portable marshallers. > {noformat} > [13:47:33,935][SEVERE][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed > to > unmarshal discovery data for component: 0 > class org.apache.ignite.IgniteCheckedException: Failed to deserialize object > wit > h given class loader: sun.misc.Launcher$AppClassLoader@56092666 > at > org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshalle > r.java:105) > at > org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMar > shaller.java:68) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDis > coverySpi.java:1697) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.proc > essNodeAddedMessage(ServerImpl.java:3258) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.proc > essMessage(ServerImpl.java:1993) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.b > ody(ServerImpl.java:5206) > at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) > Caused by: java.io.InvalidClassException: > org.apache.ignite.internal.util.lang.G > ridFunc$38; local class
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14969501#comment-14969501 ] Andrey Gura edited comment on IGNITE-1526 at 10/23/15 4:46 PM: --- 1) Agree. I'll revert this changes. 2) Yes, it is compatibility issue. Some additional changes should be done also: 1) When node join to topology we should comapre value of {{USE_DFLT_SUID}} on new node and other nodes of topology. If existing nodes have value of this flag that differs from new node then exception should be thrown and new node should no join to the cluster. If some nodes has no this attribute then we should treat it as {{true}}. 2) {{USE_DFLT_SUID}} flag in {{OptimizedMarshaller}} should be used only if class doesn't have {{serialVersionUID}}. If class has {{serialVersionUID}} field then we can safely use it. This solution fixes problems with {{BigInteger}}-like classes that have different implementation but are consistent with the serialization viewpoint. was (Author: agura): 1) Agree. I'll revert this changes. 2) Yes, it is compatibility issue. Some additional changes should be done also: 1) When node join to topology we should comapre value of {{USE_DFLT_SUID}} on new node and other nodes of topology. If existing nodes have value of this flag that differs from new node then exception should be thrown and new node should no join to the cluster. If some nodes has no this attribute then we should treat it as {{false}}. 2) {{USE_DFLT_SUID}} flag in {{OptimizedMarshaller}} should be used only if class doesn't have {{serialVersionUID}}. If class has {{serialVersionUID}} field then we can safely use it. This solution fixes problems with {{BigInteger}}-like classes that have different implementation but are consistent with the serialization viewpoint. > IBM JDK is not fully supported by the platfrom > -- > > Key: IGNITE-1526 > URL: https://issues.apache.org/jira/browse/IGNITE-1526 > Project: Ignite > Issue Type: Bug >Reporter: Denis Magda >Assignee: Denis Magda >Priority: Blocker > Fix For: 1.5 > > > There are several issue related to IBM JDK. > 1) It's not possible to compile the platform using IBM JDK ver 1.7; > 2) Besides of the fact that two IBM nodes can connect to each other some > functionality still doesn't work. As an example > {{CacheClientPortablePutGetExample}} fails with the following stack trace > {noformat} > [14:38:56,930][ERROR][grid-nio-worker-0-#26%null%][TcpCommunicationSpi] > Caught unhandled exception in NIO worker thread (restart the node). > class org.apache.ignite.IgniteException: Invalid field type: 0 > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readRemovedField(PortableDirectMessageReader.java:670) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readFieldHeader(PortableDirectMessageReader.java:520) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readMessage(PortableDirectMessageReader.java:339) > at > org.apache.ignite.internal.managers.communication.GridIoMessage.readFrom(GridIoMessage.java:248) > at > org.apache.ignite.internal.util.nio.GridDirectParser.decode(GridDirectParser.java:76) > at > org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:103) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridConnectionBytesVerifyFilter.onMessageReceived(GridConnectionBytesVerifyFilter.java:122) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:2078) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:172) > at > org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processRead(GridNioServer.java:858) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeys(GridNioServer.java:1397) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:1339) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1223) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108) > at java.lang.Thread.run(Thread.java:801) > {noformat} > 3) Oracle JVM based server node fails to connect to IBM server node producing > the stack trace below. Tested with JDK and Portable
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14954875#comment-14954875 ] Vasilisa Sidorova edited comment on IGNITE-1526 at 10/13/15 12:54 PM: --- GG-ent-7.5.0 build #319 (http://94.72.60.102/viewLog.html?buildId=550802=artifacts=IgniteBuildsAndUploads_UploadIgniteGridGainToGridgainRepositoryMvnSiteOnDemand), oracle-java-7 vs ibm-java-7: many of Store (CacheAutoStoreExample, CacheHibernateStoreExample, CacheJdbcStoreExample, CacheSpringStoreExample) examples are failed with exception like this: {noformat} [15:00:35,909][ERROR][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed to unmarshal discovery custom message. class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@490c782 at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105) at org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68) at org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage.message(TcpDiscoveryCustomEventMessage.java:78) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:4340) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:4244) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2125) at org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:5382) at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) Caused by: java.io.InvalidClassException: org.apache.ignite.examples.datagrid.store.auto.CacheConfig$1; local class incompatible: stream classdesc serialVersionUID = -6521855079114363289, local class serialVersionUID = 4822828737090860668 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1706) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1601) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1874) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:429) at java.util.ArrayList.readObject(ArrayList.java:783) at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1099) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:429) at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:102) ... 7 more [15:00:35,951][ERROR][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed to unmarshal discovery custom message. class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@490c782 at
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14954875#comment-14954875 ] Vasilisa Sidorova edited comment on IGNITE-1526 at 10/13/15 2:24 PM: -- Community 1.5.0 build #319, oracle-java-7 vs ibm-java-7: many of Store (CacheAutoStoreExample, CacheHibernateStoreExample, CacheJdbcStoreExample, CacheSpringStoreExample) examples are failed with exception like this: {noformat} [15:00:35,909][ERROR][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed to unmarshal discovery custom message. class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@490c782 at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105) at org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68) at org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage.message(TcpDiscoveryCustomEventMessage.java:78) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:4340) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:4244) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2125) at org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:5382) at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) Caused by: java.io.InvalidClassException: org.apache.ignite.examples.datagrid.store.auto.CacheConfig$1; local class incompatible: stream classdesc serialVersionUID = -6521855079114363289, local class serialVersionUID = 4822828737090860668 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1706) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1601) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1874) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:429) at java.util.ArrayList.readObject(ArrayList.java:783) at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1099) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2100) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2024) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1901) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1433) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:429) at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:102) ... 7 more [15:00:35,951][ERROR][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed to unmarshal discovery custom message. class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@490c782 at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105) at org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68) at
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14954888#comment-14954888 ] Vasilisa Sidorova edited comment on IGNITE-1526 at 10/13/15 2:25 PM: -- Community 1.5.0 build #319, oracle-java-7 vs ibm-java-7: ComputeFailoverExample fails with exception: {noformat} Exception in thread "main" class org.apache.ignite.cluster.ClusterTopologyException: Failed to failover a job to another node (failover SPI returned null) [job=C1 [arg=Stage1 Stage2], node=TcpDiscoveryNode [id=745add11-cf54-4976-b9a8-f46d76d8e577, addrs=[127.0.0.1], sockAddrs=[/127.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1444740915117, loc=false, ver=1.5.0#20151012-sha1:6844370d, isClient=false]] at org.apache.ignite.internal.util.IgniteUtils$6.apply(IgniteUtils.java:747) at org.apache.ignite.internal.util.IgniteUtils$6.apply(IgniteUtils.java:745) at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:876) at org.apache.ignite.internal.IgniteComputeImpl.apply(IgniteComputeImpl.java:338) at org.apache.ignite.examples.computegrid.failover.ComputeFailoverExample.main(ComputeFailoverExample.java:59) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) Caused by: class org.apache.ignite.internal.cluster.ClusterTopologyCheckedException: Failed to failover a job to another node (failover SPI returned null) [job=C1 [arg=Stage1 Stage2], node=TcpDiscoveryNode [id=745add11-cf54-4976-b9a8-f46d76d8e577, addrs=[127.0.0.1], sockAddrs=[/127.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1444740915117, loc=false, ver=1.5.0#20151012-sha1:6844370d, isClient=false]] at org.apache.ignite.internal.processors.task.GridTaskWorker.failover(GridTaskWorker.java:1049) at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:841) at org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:995) at org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1219) at org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2302) at org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:992) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) at org.apache.ignite.internal.managers.communication.GridIoManager$6.run(GridIoManager.java:961) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) at java.lang.Thread.run(Thread.java:809) Caused by: class org.apache.ignite.compute.ComputeJobFailoverException: Expected example job exception. at org.apache.ignite.examples.computegrid.failover.ComputeFailoverExample$CheckPointJob.apply(ComputeFailoverExample.java:128) at org.apache.ignite.examples.computegrid.failover.ComputeFailoverExample$CheckPointJob.apply(ComputeFailoverExample.java:69) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C1.execute(GridClosureProcessor.java:1698) at org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:509) at org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6371) at org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:503) at org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:456) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1166) at org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1776) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106) at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14953061#comment-14953061 ] Sergey Kozlov edited comment on IGNITE-1526 at 10/12/15 12:48 PM: -- 1. I ran two nodes: under Oracle JDK7: bin\ignite.bat examples\config\example-ignite.xml -v -J-Dignite.marsh.optimized.useDefaultSUID=false under Oracle JDK8: bin\ignite.bat examples\config\example-ignite.xml -v -J-Dignite.marsh.optimized.useDefaultSUID=false 2. Build and compile examples in IDEA under IBM JDK7 3. Run EventsExample and get following on nodes: {noformat} [15:28:11,524][SEVERE][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed to unmarshal discovery custom message. class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@18b4aac2 at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105) at org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68) at org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage.message(TcpDiscoveryCustomEventMessage.java:78) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:4340) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:4299) at org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2125) at org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.body(ServerImpl.java:5382) at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) Caused by: java.io.InvalidClassException: org.apache.ignite.internal.util.lang.GridFunc$3; local class incompatible: stream classdesc serialVersionUID = 1419527628989531832, local class serialVersionUID = 6101914246981105862 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:621) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) at org.apache.ignite.internal.processors.continuous.StartRequestData.readExternal(StartRequestData.java:258) at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1842) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1799) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:2000) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1924) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:102) ... 7 more [15:28:50,548][INFO][grid-timeout-worker-#33%null%][IgniteKernal] {noformat} Similar issues found for MessagingPingPongExample and MessagingPingPongListenActor was (Author: skozlov): 1. I ran two nodes: under Oracle JDK7: bin\ignite.bat examples\config\example-ignite.xml -v -J-Dignite.marsh.optimized.useDefaultSUID=false under Oracle JDK8: bin\ignite.bat examples\config\example-ignite.xml -v -J-Dignite.marsh.optimized.useDefaultSUID=false 2. Build and compile examples in IDEA under IBM JDK7 3. Run EventsExample and get following on nodes: {noformat} [15:28:11,524][SEVERE][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed to unmarshal discovery custom message. class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: sun.misc.Launcher$AppClassLoader@18b4aac2 at org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshaller.java:105) at org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMarshaller.java:68) at org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage.message(TcpDiscoveryCustomEventMessage.java:78) at
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14953089#comment-14953089 ] Sergey Kozlov edited comment on IGNITE-1526 at 10/12/15 1:19 PM: - Another failure found: 1. Run 1 node under Oracle JDK7 (bin\ignite.bat examples\config\example-ignite.xml -v -J-Dignite.marsh.optimized.useDefaultSUID=false) 2. Run ComputeFibonacciContinuationExample (IBM JDK7) and got exception: {noformat} Exception in thread "main" class org.apache.ignite.IgniteException: Failed to find class with given class loader for unmarshalling (make sure same version of all classes are available on all nodes or enable peer-class-loading): sun.misc.Launcher$AppClassLoader@ceddcebd at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) at org.apache.ignite.internal.IgniteComputeImpl.apply(IgniteComputeImpl.java:338) at org.apache.ignite.examples.computegrid.ComputeFibonacciContinuationExample.main(ComputeFibonacciContinuationExample.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to find class with given class loader for unmarshalling (make sure same version of all classes are available on all nodes or enable peer-class-loading): sun.misc.Launcher$AppClassLoader@ceddcebd at org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:246) at org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:762) at org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:995) at org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1219) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:811) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1500(GridIoManager.java:106) at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:774) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:627) at java.lang.Thread.run(Thread.java:809) Caused by: java.lang.ClassNotFoundException: Optimized stream class checksum mismatch (is same version of marshalled class present on all nodes?) [expected=-21474, actual=26922, cls=class java.math.BigInteger] at org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.verifyChecksum(OptimizedClassDescriptor.java:824) at org.apache.ignite.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:806) at org.apache.ignite.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:315) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:414) at org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:240) ... 9 more {noformat} was (Author: skozlov): Another failure found: 1. Run 1 node under Oracle JDK7 (bin\ignite.bat examples\config\example-ignite.xml -v -J-Dignite.marsh.optimized.useDefaultSUID=false) 2. Run ComputeFibonacciContinuationExample and got exception: {noformat} Exception in thread "main" class org.apache.ignite.IgniteException: Failed to find class with given class loader for unmarshalling (make sure same version of all classes are available on all nodes or enable peer-class-loading): sun.misc.Launcher$AppClassLoader@ceddcebd at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) at org.apache.ignite.internal.IgniteComputeImpl.apply(IgniteComputeImpl.java:338) at org.apache.ignite.examples.computegrid.ComputeFibonacciContinuationExample.main(ComputeFibonacciContinuationExample.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:56) at java.lang.reflect.Method.invoke(Method.java:620) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to find class with given
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14935670#comment-14935670 ] Andrey Gura edited comment on IGNITE-1526 at 9/30/15 10:15 AM: --- {{serialVersionUID}} was added to some anonymous classes in {{ignite-core}}. Discovery works, but requires additional testing. {{OptimizedMarshaller}} uses JDK {{serialVersionUID}} for classes that implement {{Serializable}} interface. It is incorrect behavior for cases with different JVMs in cluster. In order to provide backward compatibility this code will execute only if special flag switched on via system properties. Otherwise, another mechanism will be used for checksum (based on {{serialVersionUID}}) calculation. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{OptimizedMarshaller}} passed successfully with Oracle JDK on local node and IBM JDK on remote nodes. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{PortableMarshaller}} passed almost successfully with different JDKs. But there is one problem in some tests: {noformat} class org.apache.ignite.IgniteException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) at org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:355) at org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy.localNode(IgniteClusterProcessProxy.java:87) at org.apache.ignite.internal.processors.cache.GridCacheAbstractFullApiSelfTest.testEvictExpired(GridCacheAbstractFullApiSelfTest.java:3176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1670) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:111) at org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:1608) Caused by: class org.apache.ignite.IgniteCheckedException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.MarshallerContextAdapter.registerClass(MarshallerContextAdapter.java:163) at org.apache.ignite.internal.portable.PortableContext.registerUserClassDescriptor(PortableContext.java:549) at org.apache.ignite.internal.portable.PortableContext.registerClassDescriptor(PortableContext.java:528) at org.apache.ignite.internal.portable.PortableContext.descriptorForClass(PortableContext.java:443) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:194) at org.apache.ignite.internal.portable.PortableWriterExImpl.doWriteObject(PortableWriterExImpl.java:534) at org.apache.ignite.internal.portable.PortableWriterExImpl.writeObject(PortableWriterExImpl.java:1471) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.writeExternal(GridClosureProcessor.java:1803) at org.apache.ignite.internal.portable.PortableClassDescriptor.write(PortableClassDescriptor.java:543) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:261) at org.apache.ignite.internal.portable.GridPortableMarshaller.marshal(GridPortableMarshaller.java:228) at org.apache.ignite.internal.portable.api.PortableMarshaller.marshal(PortableMarshaller.java:317) at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1203) at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:609) at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:501) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:678) at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:403) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:583) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:423) at
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936738#comment-14936738 ] Denis Magda edited comment on IGNITE-1526 at 9/30/15 11:39 AM: --- +1 to Vladimir suggestion. In regards to {{OptimizedMarshaller}} we shouldn't rely on it in the heterogeneous scenario. That's why we can leave it's implementation as is. In the heterogeneous scenario the user will use {{PortableMarshaller}}. {{JdkMarshaller}} will be used for the rest of core modules. was (Author: dmagda): +1 to Vladimir suggestion. In regards to {{OptimizedMarshaller}} we shouldn't rely on it in the heterogeneous scenario. That's why we can live it's implementation as is. In the heterogeneous scenario the user will use {{PortableMarshaller}}. {{JdkMarshaller}} will be used for the rest of core modules. > IBM JDK is not fully supported by the platfrom > -- > > Key: IGNITE-1526 > URL: https://issues.apache.org/jira/browse/IGNITE-1526 > Project: Ignite > Issue Type: Bug >Reporter: Denis Magda >Assignee: Andrey Gura >Priority: Blocker > Fix For: ignite-1.5 > > > There are several issue related to IBM JDK. > 1) It's not possible to compile the platform using IBM JDK ver 1.7; > 2) Besides of the fact that two IBM nodes can connect to each other some > functionality still doesn't work. As an example > {{CacheClientPortablePutGetExample}} fails with the following stack trace > {noformat} > [14:38:56,930][ERROR][grid-nio-worker-0-#26%null%][TcpCommunicationSpi] > Caught unhandled exception in NIO worker thread (restart the node). > class org.apache.ignite.IgniteException: Invalid field type: 0 > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readRemovedField(PortableDirectMessageReader.java:670) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readFieldHeader(PortableDirectMessageReader.java:520) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readMessage(PortableDirectMessageReader.java:339) > at > org.apache.ignite.internal.managers.communication.GridIoMessage.readFrom(GridIoMessage.java:248) > at > org.apache.ignite.internal.util.nio.GridDirectParser.decode(GridDirectParser.java:76) > at > org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:103) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridConnectionBytesVerifyFilter.onMessageReceived(GridConnectionBytesVerifyFilter.java:122) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:2078) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:172) > at > org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processRead(GridNioServer.java:858) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeys(GridNioServer.java:1397) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:1339) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1223) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108) > at java.lang.Thread.run(Thread.java:801) > {noformat} > 3) Oracle JVM based server node fails to connect to IBM server node producing > the stack trace below. Tested with JDK and Portable marshallers. > {noformat} > [13:47:33,935][SEVERE][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed > to > unmarshal discovery data for component: 0 > class org.apache.ignite.IgniteCheckedException: Failed to deserialize object > wit > h given class loader: sun.misc.Launcher$AppClassLoader@56092666 > at > org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshalle > r.java:105) > at > org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMar > shaller.java:68) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.onExchange(TcpDis > coverySpi.java:1697) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.proc > essNodeAddedMessage(ServerImpl.java:3258) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.proc > essMessage(ServerImpl.java:1993) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerAdapter.b >
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14935670#comment-14935670 ] Andrey Gura edited comment on IGNITE-1526 at 9/30/15 10:00 AM: --- {{serialVersionUID}} was added to some anonymous classes in {{ignite-core}}. Discovery works, but requires additional testing. {{OptimizedMarshaller}} uses JDK {{serialVersionUID}} for classes that implement {{Serializable}} interface. It is incorrect behavior for cases with different JVMs in cluster. In order to provide backward compatibility this code will execute only if special flag switched on via system properties. Otherwise, another mechanism will be used for checksum (based on {{serialVersionUID}}) calculation. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{OptimizedMarshaller}} passed successfully with Oracle JDK on local node and IBM JDK on remote nodes. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{PortableMarshaller}} passed almost successfully with different JDKs. But there is one problem in some tests: {noformat} class org.apache.ignite.IgniteException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) at org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:355) at org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy.localNode(IgniteClusterProcessProxy.java:87) at org.apache.ignite.internal.processors.cache.GridCacheAbstractFullApiSelfTest.testEvictExpired(GridCacheAbstractFullApiSelfTest.java:3176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1670) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:111) at org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:1608) Caused by: class org.apache.ignite.IgniteCheckedException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.MarshallerContextAdapter.registerClass(MarshallerContextAdapter.java:163) at org.apache.ignite.internal.portable.PortableContext.registerUserClassDescriptor(PortableContext.java:549) at org.apache.ignite.internal.portable.PortableContext.registerClassDescriptor(PortableContext.java:528) at org.apache.ignite.internal.portable.PortableContext.descriptorForClass(PortableContext.java:443) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:194) at org.apache.ignite.internal.portable.PortableWriterExImpl.doWriteObject(PortableWriterExImpl.java:534) at org.apache.ignite.internal.portable.PortableWriterExImpl.writeObject(PortableWriterExImpl.java:1471) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.writeExternal(GridClosureProcessor.java:1803) at org.apache.ignite.internal.portable.PortableClassDescriptor.write(PortableClassDescriptor.java:543) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:261) at org.apache.ignite.internal.portable.GridPortableMarshaller.marshal(GridPortableMarshaller.java:228) at org.apache.ignite.internal.portable.api.PortableMarshaller.marshal(PortableMarshaller.java:317) at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1203) at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:609) at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:501) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:678) at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:403) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:583) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:423) at
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14936668#comment-14936668 ] Vladimir Ozerov edited comment on IGNITE-1526 at 9/30/15 10:13 AM: --- String.hashCode() is a very nice candidate for ID computation because it is cached inside String instance. Manual ID computation will lead to ~5-10% slowdown, we already saw this in .Net where we have to calculate IDs by hand. On the other hand, it is true that different JVMs might calculate it differently, and some of them might even decide not to cache it. I would stick with current implementation by default, and add ability to fallback to manual ID calculation via system property. was (Author: vozerov): String.hashCode() is a very nice candidate for ID computation because it si cached inside String string instance. Manual ID computation will lead to ~5-10% slowdown, we already saw this in .Net where we have to calculate IDs by hand. On the other hand, it is true that different JVMs might calculate it differently, and some of them might even decide not to cache it. I would stick with current implementation by default, and add ability to fallback to manual ID calculation via system property. > IBM JDK is not fully supported by the platfrom > -- > > Key: IGNITE-1526 > URL: https://issues.apache.org/jira/browse/IGNITE-1526 > Project: Ignite > Issue Type: Bug >Reporter: Denis Magda >Assignee: Andrey Gura >Priority: Blocker > Fix For: ignite-1.5 > > > There are several issue related to IBM JDK. > 1) It's not possible to compile the platform using IBM JDK ver 1.7; > 2) Besides of the fact that two IBM nodes can connect to each other some > functionality still doesn't work. As an example > {{CacheClientPortablePutGetExample}} fails with the following stack trace > {noformat} > [14:38:56,930][ERROR][grid-nio-worker-0-#26%null%][TcpCommunicationSpi] > Caught unhandled exception in NIO worker thread (restart the node). > class org.apache.ignite.IgniteException: Invalid field type: 0 > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readRemovedField(PortableDirectMessageReader.java:670) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readFieldHeader(PortableDirectMessageReader.java:520) > at > org.gridgain.grid.internal.communication.PortableDirectMessageReader.readMessage(PortableDirectMessageReader.java:339) > at > org.apache.ignite.internal.managers.communication.GridIoMessage.readFrom(GridIoMessage.java:248) > at > org.apache.ignite.internal.util.nio.GridDirectParser.decode(GridDirectParser.java:76) > at > org.apache.ignite.internal.util.nio.GridNioCodecFilter.onMessageReceived(GridNioCodecFilter.java:103) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridConnectionBytesVerifyFilter.onMessageReceived(GridConnectionBytesVerifyFilter.java:122) > at > org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:107) > at > org.apache.ignite.internal.util.nio.GridNioServer$HeadFilter.onMessageReceived(GridNioServer.java:2078) > at > org.apache.ignite.internal.util.nio.GridNioFilterChain.onMessageReceived(GridNioFilterChain.java:172) > at > org.apache.ignite.internal.util.nio.GridNioServer$DirectNioClientWorker.processRead(GridNioServer.java:858) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.processSelectedKeys(GridNioServer.java:1397) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.bodyInternal(GridNioServer.java:1339) > at > org.apache.ignite.internal.util.nio.GridNioServer$AbstractNioClientWorker.body(GridNioServer.java:1223) > at > org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:108) > at java.lang.Thread.run(Thread.java:801) > {noformat} > 3) Oracle JVM based server node fails to connect to IBM server node producing > the stack trace below. Tested with JDK and Portable marshallers. > {noformat} > [13:47:33,935][SEVERE][tcp-disco-msg-worker-#2%null][TcpDiscoverySpi] Failed > to > unmarshal discovery data for component: 0 > class org.apache.ignite.IgniteCheckedException: Failed to deserialize object > wit > h given class loader: sun.misc.Launcher$AppClassLoader@56092666 > at > org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshalle > r.java:105) > at > org.apache.ignite.marshaller.AbstractMarshaller.unmarshal(AbstractMar > shaller.java:68) > at >
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14935670#comment-14935670 ] Andrey Gura edited comment on IGNITE-1526 at 9/29/15 7:13 PM: -- {{serialVersionUID}} was added to some anonymous classes in {{ignite-core}}. Discovery works, but requires additional testing. {{OptimizedMarshaller}} uses JDK {{serialVersionUID}} for classes that implement {{Serializable}} interface. It is incorrect behavior for cases with different JVMs in cluster. In order to provide backward compatibility this code will execute only if special flag switched on via system properties. Otherwise, another mechanism will be used for checksum (based on {{serialVersionUID}}) calculation. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{OptimizedMarshaller}} passed successfully with Oracle JDK on local node and IBM JDK on remote nodes. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{PortableMarshaller}} passed almost successfully with different JDKs. But there is one problem in some tests: {noformat} class org.apache.ignite.IgniteException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) at org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:355) at org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy.localNode(IgniteClusterProcessProxy.java:87) at org.apache.ignite.internal.processors.cache.GridCacheAbstractFullApiSelfTest.testEvictExpired(GridCacheAbstractFullApiSelfTest.java:3176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1670) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:111) at org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:1608) Caused by: class org.apache.ignite.IgniteCheckedException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.MarshallerContextAdapter.registerClass(MarshallerContextAdapter.java:163) at org.apache.ignite.internal.portable.PortableContext.registerUserClassDescriptor(PortableContext.java:549) at org.apache.ignite.internal.portable.PortableContext.registerClassDescriptor(PortableContext.java:528) at org.apache.ignite.internal.portable.PortableContext.descriptorForClass(PortableContext.java:443) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:194) at org.apache.ignite.internal.portable.PortableWriterExImpl.doWriteObject(PortableWriterExImpl.java:534) at org.apache.ignite.internal.portable.PortableWriterExImpl.writeObject(PortableWriterExImpl.java:1471) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.writeExternal(GridClosureProcessor.java:1803) at org.apache.ignite.internal.portable.PortableClassDescriptor.write(PortableClassDescriptor.java:543) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:261) at org.apache.ignite.internal.portable.GridPortableMarshaller.marshal(GridPortableMarshaller.java:228) at org.apache.ignite.internal.portable.api.PortableMarshaller.marshal(PortableMarshaller.java:317) at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1203) at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:609) at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:501) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:678) at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:403) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:583) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:423) at
[jira] [Comment Edited] (IGNITE-1526) IBM JDK is not fully supported by the platfrom
[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14935670#comment-14935670 ] Andrey Gura edited comment on IGNITE-1526 at 9/29/15 7:12 PM: -- {{serialVersionUID}} was added to some anonymous classes in {{ignite-core}}. Discovery works, but requires additional testing. {{OptimizedMarshaller}} uses JDK {{serialVersionUID}} for classes that implement {{Serializable}} interface. It is incorrect behavior for cases with different JVMs in cluster. In order to provide backward compatibility this code will execute only if special flag switched on via system properties. Otherwise, another mechanism will be used for checksum (based on {{serialVersionUID}}) calculation. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{OptimizedMarshaller}} passed successfully with Oracle JDK on lolcal node and IBM JDK on remote nodes. {{IgniteCacheFullApiMultiJvmSelfTestSuite}} with {{PortableMarshaller}} passed almost successfully with different JDKs. But there is one problem in some tests: {noformat} class org.apache.ignite.IgniteException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:881) at org.apache.ignite.internal.IgniteComputeImpl.call(IgniteComputeImpl.java:355) at org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy.localNode(IgniteClusterProcessProxy.java:87) at org.apache.ignite.internal.processors.cache.GridCacheAbstractFullApiSelfTest.testEvictExpired(GridCacheAbstractFullApiSelfTest.java:3176) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at org.apache.ignite.testframework.junits.GridAbstractTest.runTestInternal(GridAbstractTest.java:1670) at org.apache.ignite.testframework.junits.GridAbstractTest.access$000(GridAbstractTest.java:111) at org.apache.ignite.testframework.junits.GridAbstractTest$6.run(GridAbstractTest.java:1608) Caused by: class org.apache.ignite.IgniteCheckedException: Duplicate ID [id=-1996663899, oldCls=org.apache.ignite.testframework.junits.multijvm.IgniteProcessProxy$LocalNodeCallable, newCls=org.apache.ignite.testframework.junits.multijvm.IgniteClusterProcessProxy$LocalNodeCallable at org.apache.ignite.internal.MarshallerContextAdapter.registerClass(MarshallerContextAdapter.java:163) at org.apache.ignite.internal.portable.PortableContext.registerUserClassDescriptor(PortableContext.java:549) at org.apache.ignite.internal.portable.PortableContext.registerClassDescriptor(PortableContext.java:528) at org.apache.ignite.internal.portable.PortableContext.descriptorForClass(PortableContext.java:443) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:194) at org.apache.ignite.internal.portable.PortableWriterExImpl.doWriteObject(PortableWriterExImpl.java:534) at org.apache.ignite.internal.portable.PortableWriterExImpl.writeObject(PortableWriterExImpl.java:1471) at org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.writeExternal(GridClosureProcessor.java:1803) at org.apache.ignite.internal.portable.PortableClassDescriptor.write(PortableClassDescriptor.java:543) at org.apache.ignite.internal.portable.PortableWriterExImpl.marshal(PortableWriterExImpl.java:261) at org.apache.ignite.internal.portable.GridPortableMarshaller.marshal(GridPortableMarshaller.java:228) at org.apache.ignite.internal.portable.api.PortableMarshaller.marshal(PortableMarshaller.java:317) at org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1203) at org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:609) at org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:501) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:678) at org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:403) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:583) at org.apache.ignite.internal.processors.closure.GridClosureProcessor.callAsync(GridClosureProcessor.java:423) at