Start your java server node setting up BinaryConfiguration in a way that C++ and Java nodes can co-exist together
BinaryConfiguration bCfg = new BinaryConfiguration(); bCfg.setCompactFooter(false); bCfg.setNameMapper(new BinaryBasicNameMapper(true)); bCfg.setIdMapper(new BinaryBasicIdMapper(true)); igniteCfg.setBinaryConfiguration(bCfg); //start Ignite server node. If you use Spring xml config for the java server node then you can easily map the Java code above to XML. — Denis > On Apr 30, 2016, at 9:37 PM, Murthy Kakarlamudi <[email protected]> wrote: > > In looking closely at the error: > Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's > binary configuration is not equal to remote node's binary configuration > [locNodeId=a210c5ba-9c22-4c95-8764-f475fe1498fb, > rmtNodeId=15796c03-7fd9-426d-af18-deb8d80fc786, > locBinaryCfg={globIdMapper=org.apache.ignite.binary.BinaryBasicIdMapper, > compactFooter=false, globSerializer=null}, rmtBinaryCfg={globIdMapper=null, > compactFooter=false, globSerializer=null}] > > globIdMapper is different between local and remote. Probably that is the > error Ignite is complaining about. Any idea how to bypass this setting? > > On Fri, Apr 29, 2016 at 7:29 PM, Murthy Kakarlamudi <[email protected] > <mailto:[email protected]>> wrote: > Hello Igor, > As I was not able to get past the error with missing dynamic link > library by running my c++ application, I took a different approach. > > My java server node is started that loaded entries from a SQL Server table > into cache. Then I tried running ignite.exe creating by building c++ binaries > passing in the spring config that I used to start my java server node and am > running into the below error: > > [19:23:19,228][SEVERE][main][IgniteKernal] Failed to start manager: > GridManagerAdapter [enabled=true, > name=o.a.i.i.managers.discovery.GridDiscoveryManager] > class org.apache.ignite.IgniteCheckedException: Failed to start SPI: > TcpDiscoverySpi [addrRslvr=null, sockTimeout=5000, ackTimeout=5000, > reconCnt=10, maxAckTimeout=600000, forceSrvMode=false, > clientReconnectDisabled=false] > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:258) > at > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:675) > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1523) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:893) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1736) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) > at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516) > at org.apache.ignite.Ignition.start(Ignition.java:322) > at > org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:36) > at > org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72) > Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's > binary configuration is not equal to remote node's binary configuration > [locNodeId=a210c5ba-9c22-4c95-8764-f475fe1498fb, > rmtNodeId=15796c03-7fd9-426d-af18-deb8d80fc786, > locBinaryCfg={globIdMapper=org.apache.ignite.binary.BinaryBasicIdMapper, > compactFooter=false, globSerializer=null}, rmtBinaryCfg={globIdMapper=null, > compactFooter=false, globSerializer=null}] > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1643) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:884) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:333) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1831) > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:255) > ... 11 more > [19:23:19,311][SEVERE][main][IgniteKernal] Got exception while starting (will > rollback startup routine). > class org.apache.ignite.IgniteCheckedException: Failed to start manager: > GridManagerAdapter [enabled=true, > name=org.apache.ignite.internal.managers.discovery.GridDiscoveryManager] > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1528) > at > org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:893) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1736) > at > org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1589) > at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1042) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:569) > at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:516) > at org.apache.ignite.Ignition.start(Ignition.java:322) > at > org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java:36) > at > org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72) > Caused by: class org.apache.ignite.IgniteCheckedException: Failed to start > SPI: TcpDiscoverySpi [addrRslvr=null, sockTimeout=5000, ackTimeout=5000, > reconCnt=10, maxAckTimeout=600000, forceSrvMode=false, > clientReconnectDisabled=false] > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:258) > at > org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:675) > at > org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1523) > ... 9 more > Caused by: class org.apache.ignite.spi.IgniteSpiException: Local node's > binary configuration is not equal to remote node's binary configuration > [locNodeId=a210c5ba-9c22-4c95-8764-f475fe1498fb, > rmtNodeId=15796c03-7fd9-426d-af18-deb8d80fc786, > locBinaryCfg={globIdMapper=org.apache.ignite.binary.BinaryBasicIdMapper, > compactFooter=false, globSerializer=null}, rmtBinaryCfg={globIdMapper=null, > compactFooter=false, globSerializer=null}] > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.checkFailedError(TcpDiscoverySpi.java:1643) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl.joinTopology(ServerImpl.java:884) > at > org.apache.ignite.spi.discovery.tcp.ServerImpl.spiStart(ServerImpl.java:333) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.spiStart(TcpDiscoverySpi.java:1831) > at > org.apache.ignite.internal.managers.GridManagerAdapter.startSpi(GridManagerAdapter.java:255) > > Can you please help... > > On Fri, Apr 29, 2016 at 4:19 PM, Murthy Kakarlamudi <[email protected] > <mailto:[email protected]>> wrote: > I cleaned up 1.6 libraries and tried to build my c++ project and got the link > error. That's a good sign. I went ahead, built the 1.6 libraries and them my > c++ project. But now when I am trying to run it, getting the below error: > > <image.png> > > On Fri, Apr 29, 2016 at 3:14 PM, Igor Sapego <[email protected] > <mailto:[email protected]>> wrote: > It seems like you link with the outdated version of the ignite.common.dll. > Your library path seems to be correct though. Try checking your configuration > more thoughtfully. > > Also, if you have changed your environment variable maybe it makes sense > to restart VS if you didn't do that so it can pick up environment changes. > > You may want to try to clean 1.6 libraries just to see if your project will > give > you an error when you are trying to build it (there should be linking error > if you > are linking with the right libraries). > > Please tell if anything of that will help. > > Best Regards, > Igor > > On Fri, Apr 29, 2016 at 10:03 PM, Murthy Kakarlamudi <[email protected] > <mailto:[email protected]>> wrote: > That runs fine. No errors. > > On Fri, Apr 29, 2016 at 2:45 PM, Igor Sapego <[email protected] > <mailto:[email protected]>> wrote: > Murthi, > > What about ignite.exe file from the > %IGNITE_HOME%/platforms/cpp/project/vs/$(Platform)/$(Configuration)? > Are you able to run it? Does it give you the same error? > > Best Regards, > Igor > > On Fri, Apr 29, 2016 at 9:07 PM, Murthy Kakarlamudi <[email protected] > <mailto:[email protected]>> wrote: > These are the steps I have taken: > > 1. Downloaded 1.6 binary from Jenkins build - > https://builds.apache.org/view/H-L/view/Ignite/job/Ignite-nightly/lastSuccessfulBuild/ > > <https://builds.apache.org/view/H-L/view/Ignite/job/Ignite-nightly/lastSuccessfulBuild/> > 2. Updated my IGNITE_HOME variable to point to 1.6 > <image.png> > 3. Opened ignite.sln in > apache-ignite-fabric-1.6.0-SNAPSHOT-bin\platforms\cpp\project\vs folder and > built the solution. > 4. In my sample c++ solution I have the below settings at the project level > <image.png> > <image.png> > > Below is my Cache Config: > <beans xmlns="http://www.springframework.org/schema/beans > <http://www.springframework.org/schema/beans>" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance > <http://www.w3.org/2001/XMLSchema-instance>" > xmlns:util="http://www.springframework.org/schema/util > <http://www.springframework.org/schema/util>" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > <http://www.springframework.org/schema/beans> > http://www.springframework.org/schema/beans/spring-beans.xsd > <http://www.springframework.org/schema/beans/spring-beans.xsd> > http://www.springframework.org/schema/util > <http://www.springframework.org/schema/util> > http://www.springframework.org/schema/util/spring-util.xsd > <http://www.springframework.org/schema/util/spring-util.xsd>"> > <bean id="grid.cfg" > class="org.apache.ignite.configuration.IgniteConfiguration"> > <!-- Set to true to enable distributed class loading for examples, > default is false. --> > > <property name="clientMode" value="true"/> > <property name="cacheConfiguration"> > <list> > <!-- > Partitioned cache example configuration with binary > objects enabled. > Used in .NET example that is available only in enterprise > edition. > --> > <bean > class="org.apache.ignite.configuration.CacheConfiguration"> > <property name="atomicityMode" > value="ATOMIC"/> > <property name="backups" value="1"/> > </bean> > > <!-- > Partitioned cache example configuration. > Used in .NET cache store example that is available only > in enterprise edition. > --> > <!-- > <bean > class="org.apache.ignite.configuration.CacheConfiguration"> > <property name="name" value="tx"/> > <property name="atomicityMode" value="TRANSACTIONAL"/> > <property name="backups" value="1"/> > </bean> > --> > </list> > </property> > > <!-- Explicitly configure TCP discovery SPI to provide list of > initial nodes. --> > <property name="discoverySpi"> > <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> > <property name="ipFinder"> > <!-- > Ignite provides several options for automatic > discovery that can be used > instead os static IP based discovery. > --> > <!-- Uncomment static IP finder to enable static-based > discovery of initial nodes. --> > <bean > class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder"> > <!-- <bean > class="org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder"> > --> > <property name="addresses"> > <list> > <!-- In distributed environment, replace with > actual host IP address. --> > <value>127.0.0.1:47500..47501</value> > </list> > </property> > </bean> > </property> > </bean> > </property> > </bean> > </beans> > > On Fri, Apr 29, 2016 at 1:44 PM, Igor Sapego <[email protected] > <mailto:[email protected]>> wrote: > It seems like you are trying to use client node binary from Ignite 1.5 for > Ignite 1.6. You should build client node binary for the 1.6 instead to use > with Ignite 1.6 as they are not cross-compatible. > > Best Regards, > Igor > > On Fri, Apr 29, 2016 at 8:39 PM, Igor Sapego <[email protected] > <mailto:[email protected]>> wrote: > Hi, > > Where have you got your C++ client node binary from? > > Best Regards, > Igor > > On Fri, Apr 29, 2016 at 8:32 PM, Murthy Kakarlamudi <[email protected] > <mailto:[email protected]>> wrote: > Hi All, > I downloaded the latest 1.6 binary from latest builds. I am trying to > start a node from c++ and getting the below error. > > An error occurred: Failed to initialize JVM > [errCls=java.lang.NoSuchMethodError, errMsg=executeNative] > > The same c++ node starts fine if I point my IGNITE_HOME to 1.5 instead of > 1.6. > > Any help is much appreciated... > > Thanks. > > > > > > > > >
