[ https://issues.apache.org/jira/browse/IGNITE-1526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) {noformat} was (Author: vsidorova): GG-ent-7.5.0 build #319 (http://94.72.60.102/viewLog.html?buildId=550802&tab=artifacts&buildTypeId=IgniteBuildsAndUploads_UploadIgniteGridGainToGridgainRepositoryMvnSiteOnDemand), 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) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) {noformat} > 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 incompatible: stream classdesc serialVersionUID = > -55433 > 49853748590486, local class serialVersionUID = -5664060422647374863 > at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617) > at > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:162 > 2) > at > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1 > 771) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) > at > org.apache.ignite.internal.processors.continuous.GridContinuousProces > sor$DiscoveryDataItem.readExternal(GridContinuousProcessor.java:1455) > at > java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:183 > 7) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1 > 796) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) > at > org.apache.ignite.internal.util.IgniteUtils.readList(IgniteUtils.java > :5109) > at > org.apache.ignite.internal.util.IgniteUtils.readCollection(IgniteUtil > s.java:1618) > at > org.apache.ignite.internal.processors.continuous.GridContinuousProces > sor$DiscoveryData.readExternal(GridContinuousProcessor.java:1371) > at > java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:183 > 7) > at > java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1 > 796) > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) > at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) > at > org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal(JdkMarshalle > r.java:102) > ... 6 more > {noformat} > 4) Oracle JVM based client node is partially connected to IBM server node. > The server node updates its topology while the client is hanging with the > stack trace below. Tested with JDK and Portable marshallers.: > {noformat} > "main" prio=6 tid=0x00000000001ee800 nid=0x1f44 waiting on condition > [0x00000000025ce000] > java.lang.Thread.State: WAITING (parking) > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <0x00000007d7ad4478> (a > java.util.concurrent.CountDownLatch$Sync) > at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:994) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1303) > at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:236) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl.spiStart(ClientImpl.java:252) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1815) > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:252) > at > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:666) > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1485) > at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:908) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1617) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1484) > - locked <0x00000007d7bbb918> (a > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance) > at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:965) > at > org.apache.ignite.internal.IgnitionEx.startConfigurations(IgnitionEx.java:892) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:784) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:705) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:576) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:546) > at org.apache.ignite.Ignition.start(Ignition.java:346) > {noformat} > IBM SDK implements {{sun.misc.Unsafe}}. However there is no guarantee that it > works the same way Oracle's does. > In all the test the following JDK versions were used: > 1) IBM > java version "1.7.0" > Java(TM) SE Runtime Environment (build pwa6470sr8fp10-20141219_01(SR8 FP10)) > IBM J9 VM (build 2.6, JRE 1.7.0 Windows 7 amd64-64 Compressed References > 2014121 > 6_227497 (JIT enabled, AOT enabled) > J9VM - R26_Java726_SR8_20141216_0955_B227497 > JIT - r11.b07_20141003_74578.05 > GC - R26_Java726_SR8_20141216_0955_B227497_CMPRSS > J9CL - 20141216_227497) > JCL - 20141217_01 based on Oracle jdk7u75-b12 > 2) Oracle > java version "1.7.0_67" > Java(TM) SE Runtime Environment (build 1.7.0_67-b01) > Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode) -- This message was sent by Atlassian JIRA (v6.3.4#6332)