Hi Murthy, The stack trace you provided shows that you still use old unpatched version. This could be observed by the line "at org.apache.ignite.Ignition.start(Ignition.java:322)". Patched version do not perform this call any more and goes directly to the "IgnitionEx.start()". You can see the fix made by myself here: https://github.com/apache/ignite/commit/22263773313dde6694f41d8eff2cd7af3fb72936#diff-016bf8b9581f2cf9c0e7255d54bd9f83R43
Could you please double-check that correct version of ignite-core.jar is picked? Vladimir. On Mon, May 2, 2016 at 7:33 PM, Murthy Kakarlamudi <[email protected]> wrote: > Hi Denis..Thanks for your response. I tried that too, but am getting an > Spring Context not Injected error as below: > > [12:56:43,819][SEVERE][main][IgniteKernal] Got exception while starting >> (will rollback startup routine). >> class org.apache.ignite.IgniteException: Spring application context >> resource is not injected. >> at >> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:156) >> at >> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:96) >> at >> org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1260) >> at >> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:785) >> at >> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:922) >> 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) >> > > > Below is the c++ client config I used that had Java based Cachestore > Implementation details. Please let me know if I am doing anything wrong > here. > > <beans xmlns="http://www.springframework.org/schema/beans" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:util="http://www.springframework.org/schema/util" > xsi:schemaLocation=" > http://www.springframework.org/schema/beans > http://www.springframework.org/schema/beans/spring-beans.xsd > http://www.springframework.org/schema/util > http://www.springframework.org/schema/util/spring-util.xsd"> > <bean id="myDataSource" > class="org.springframework.jdbc.datasource.DriverManagerDataSource"> > <property name="driverClassName" > value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> > <property name="url" > value="jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true" > /> > </bean> > <bean id="ignite.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="binaryConfiguration"> > <bean class="org.apache.ignite.configuration.BinaryConfiguration"> > <property name="compactFooter" value="false" /> > <property name="idMapper"> > <bean class="org.apache.ignite.binary.BinaryBasicIdMapper"> > <constructor-arg name="isLowerCase" value="true" /> > </bean> > </property> > <property name="nameMapper"> > <bean class="org.apache.ignite.binary.BinaryBasicNameMapper"> > <constructor-arg name="isSimpleName" value="true" /> > </bean> > </property> > </bean> > </property> > <property name="cacheConfiguration"> > <list> > <!-- Partitioned cache example configuration (Atomic mode). --> > <bean class="org.apache.ignite.configuration.CacheConfiguration"> > > <property name="atomicityMode" value="ATOMIC" /> > <property name="backups" value="1" /> > <property name="readThrough" value="true" /> > <property name="writeThrough" value="true" /> > <property name="cacheStoreFactory"> > <bean > class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory"> > <property name="dataSourceBean" value="myDataSource" /> > <!-- <property name="dataSource" ref="myDataSource" /> --> > <property name="types"> > <list> > <bean class="org.apache.ignite.cache.store.jdbc.JdbcType"> > <property name="cacheName" value="buCache" /> > <property name="databaseTable" value="BusinessUnit" /> > <property name="keyType" value="java.lang.Integer" /> > <property name="keyFields"> > <list> > <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> > <property name="databaseFieldType"> > <util:constant static-field="java.sql.Types.BIGINT" /> > </property> > <property name="databaseFieldName" value="BUID" /> > <property name="javaFieldType" value="java.lang.Integer" /> > <property name="javaFieldName" value="buid" /> > </bean> > </list> > </property> > <property name="valueType" value="models.BusinessUnit" /> > <property name="valueFields"> > <list> > <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> > <property name="databaseFieldType"> > <util:constant static-field="java.sql.Types.BIGINT" /> > </property> > <property name="databaseFieldName" value="BUID" /> > <property name="javaFieldType" value="java.lang.Integer" /> > <property name="javaFieldName" value="buid" /> > </bean> > <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> > <property name="databaseFieldType"> > <util:constant static-field="java.sql.Types.VARCHAR" /> > </property> > <property name="databaseFieldName" value="BUName" /> > <property name="javaFieldType" value="java.lang.String" /> > <property name="javaFieldName" value="buName" /> > </bean> > <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> > <property name="databaseFieldType"> > <util:constant static-field="java.sql.Types.BIGINT" /> > </property> > <property name="databaseFieldName" value="CreatedByID" /> > <property name="javaFieldType" value="java.lang.Integer" /> > <property name="javaFieldName" value="createdByID" /> > </bean> > </list> > </property> > </bean> > </list> > </property> > </bean> > </property> > </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 Mon, May 2, 2016 at 12:18 PM, Denis Magda <[email protected]> wrote: > >> Hi Murthy, >> >> In my understanding you can only set Java based CacheStore >> implementations. That’s why there are no .net and c++ examples for this >> kind of functionality. >> >> You need to specify Java based CacheStore implementation via an XML >> configuration and everything should work fine out of the box after that. >> >> Regards, >> Denis >> >> On May 2, 2016, at 8:08 PM, Murthy Kakarlamudi <[email protected]> wrote: >> >> Any help on this issue please. Basically I am stuck at a point where I >> have to access the database from c++ client node. I could not find an >> equivalent java/.net cachestore example for c++. Looking for guidance on >> how to access persistence store from c++. >> >> Thanks, >> Murthy. >> >> On Sat, Apr 30, 2016 at 1:19 PM, Murthy Kakarlamudi <[email protected]> >> wrote: >> >>> Thanks Denis...this config helped me bypass the error. >>> >>> Now I am getting the same error that I used to get in 1.5. Valentin...my >>> understanding was that you put a fix for this error in 1.6 version. I am >>> still seeing this error in 1.6 too. Error below. Do I have to enable any >>> config setting to bypass this error? >>> >>> [12:56:43,819][SEVERE][main][IgniteKernal] Got exception while starting >>> (will rollback startup routine). >>> class org.apache.ignite.IgniteException: Spring application context >>> resource is not injected. >>> at >>> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:156) >>> at >>> org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory.create(CacheJdbcPojoStoreFactory.java:96) >>> at >>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1260) >>> at >>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:785) >>> at >>> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:922) >>> 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) >>> [12:56:43,886][SEVERE][tcp-client-disco-sock-writer-#2%null%][TcpDiscoverySpi] >>> Failed to send message: TcpDiscoveryPingResponse [clientExists=false, >>> super=TcpDiscoveryAbstractMessage [sndNodeId=null, >>> id=e8db9186451-09fe6718-3c5c-4699-ac48-b083a1726632, verifierNodeId=null, >>> topVer=0, pendingIdx=0, failedNodes=null, isClient=true]] >>> class org.apache.ignite.IgniteCheckedException: Failed to serialize >>> object: TcpDiscoveryPingResponse [clientExists=false, >>> super=TcpDiscoveryAbstractMessage [sndNodeId=null, >>> id=e8db9186451-09fe6718-3c5c-4699-ac48-b083a1726632, verifierNodeId=null, >>> topVer=0, pendingIdx=0, failedNodes=null, isClient=true]] >>> at >>> org.apache.ignite.marshaller.jdk.JdkMarshaller.marshal(JdkMarshaller.java:82) >>> at >>> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.writeToSocket(TcpDiscoverySpi.java:1380) >>> at >>> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.writeToSocket(TcpDiscoverySpi.java:1351) >>> at >>> org.apache.ignite.spi.discovery.tcp.ClientImpl$SocketWriter.body(ClientImpl.java:1071) >>> at >>> org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:62) >>> Caused by: java.net.SocketException: Socket closed >>> at >>> java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:116) >>> at java.net.SocketOutputStream.write(SocketOutputStream.java:153) >>> at >>> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) >>> at >>> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) >>> at >>> org.apache.ignite.marshaller.jdk.JdkMarshallerOutputStreamWrapper.flush(JdkMarshallerOutputStreamWrapper.java:58) >>> at >>> java.io.ObjectOutputStream$BlockDataOutputStream.flush(ObjectOutputStream.java:1823) >>> at java.io.ObjectOutputStream.flush(ObjectOutputStream.java:719) >>> at >>> org.apache.ignite.marshaller.jdk.JdkMarshaller.marshal(JdkMarshaller.java:79) >>> ... 4 more >>> [12:56:43] Ignite node stopped OK [uptime=00:00:05:890] >>> An error occurred: Spring application context resource is not injected. >>> >>> My Java server node config: >>> <beans xmlns="http://www.springframework.org/schema/beans" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util=" >>> http://www.springframework.org/schema/util" >>> xsi:schemaLocation=" >>> http://www.springframework.org/schema/beans >>> http://www.springframework.org/schema/beans/spring-beans.xsd >>> http://www.springframework.org/schema/util >>> http://www.springframework.org/schema/util/spring-util-2.5.xsd"> >>> >>> <bean id="myDataSource" >>> class="org.springframework.jdbc.datasource.DriverManagerDataSource"> >>> <property name="driverClassName" >>> value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> >>> <property name="url" >>> value="jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true" >>> /> >>> </bean> >>> >>> <bean id="ignite.cfg" >>> class="org.apache.ignite.configuration.IgniteConfiguration"> >>> >>> <property name="binaryConfiguration"> >>> <bean class="org.apache.ignite.configuration.BinaryConfiguration"> >>> <property name="compactFooter" value="false" /> >>> <property name="idMapper"> >>> <bean class="org.apache.ignite.binary.BinaryBasicIdMapper"> >>> <constructor-arg name="isLowerCase" value="true" /> >>> </bean> >>> </property> >>> <property name="nameMapper"> >>> <bean class="org.apache.ignite.binary.BinaryBasicNameMapper"> >>> <constructor-arg name="isSimpleName" value="true" /> >>> </bean> >>> </property> >>> </bean> >>> </property> >>> >>> <property name="cacheConfiguration"> >>> <list> >>> <!-- Partitioned cache example configuration (Atomic mode). --> >>> <bean class="org.apache.ignite.configuration.CacheConfiguration"> >>> >>> <property name="atomicityMode" value="ATOMIC" /> >>> <property name="backups" value="1" /> >>> <property name="readThrough" value="true" /> >>> <property name="writeThrough" value="true" /> >>> <property name="cacheStoreFactory"> >>> <bean >>> class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory"> >>> <property name="dataSourceBean" value="myDataSource" /> >>> <!-- <property name="dataSource" ref="myDataSource" /> --> >>> <property name="types"> >>> <list> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcType"> >>> <property name="cacheName" value="buCache" /> >>> <property name="databaseTable" value="BusinessUnit" /> >>> <property name="keyType" value="java.lang.Integer" /> >>> <property name="keyFields"> >>> <list> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.BIGINT" /> >>> </property> >>> <property name="databaseFieldName" value="BUID" /> >>> <property name="javaFieldType" value="java.lang.Integer" /> >>> <property name="javaFieldName" value="buid" /> >>> </bean> >>> </list> >>> </property> >>> <property name="valueType" value="models.BusinessUnit" /> >>> <property name="valueFields"> >>> <list> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.BIGINT" /> >>> </property> >>> <property name="databaseFieldName" value="BUID" /> >>> <property name="javaFieldType" value="java.lang.Integer" /> >>> <property name="javaFieldName" value="buid" /> >>> </bean> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.VARCHAR" /> >>> </property> >>> <property name="databaseFieldName" value="BUName" /> >>> <property name="javaFieldType" value="java.lang.String" /> >>> <property name="javaFieldName" value="buName" /> >>> </bean> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.BIGINT" /> >>> </property> >>> <property name="databaseFieldName" value="CreatedByID" /> >>> <property name="javaFieldType" value="java.lang.Integer" /> >>> <property name="javaFieldName" value="createdByID" /> >>> </bean> >>> </list> >>> </property> >>> </bean> >>> </list> >>> </property> >>> </bean> >>> </property> >>> </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. For information on all >>> options >>> refer to our documentation: >>> http://apacheignite.readme.io/docs/cluster-config --> >>> <!-- 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..47509</value> >>> </list> >>> </property> >>> </bean> >>> </property> >>> </bean> >>> </property> >>> </bean> >>> </beans> >>> >>> C++ Client node config: >>> <beans xmlns="http://www.springframework.org/schema/beans" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xmlns:util="http://www.springframework.org/schema/util" >>> xsi:schemaLocation=" >>> http://www.springframework.org/schema/beans >>> http://www.springframework.org/schema/beans/spring-beans.xsd >>> http://www.springframework.org/schema/util >>> http://www.springframework.org/schema/util/spring-util.xsd"> >>> <bean id="myDataSource" >>> class="org.springframework.jdbc.datasource.DriverManagerDataSource"> >>> <property name="driverClassName" >>> value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> >>> <property name="url" >>> value="jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true" >>> /> >>> </bean> >>> <bean id="ignite.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="binaryConfiguration"> >>> <bean class="org.apache.ignite.configuration.BinaryConfiguration"> >>> <property name="compactFooter" value="false" /> >>> <property name="idMapper"> >>> <bean class="org.apache.ignite.binary.BinaryBasicIdMapper"> >>> <constructor-arg name="isLowerCase" value="true" /> >>> </bean> >>> </property> >>> <property name="nameMapper"> >>> <bean class="org.apache.ignite.binary.BinaryBasicNameMapper"> >>> <constructor-arg name="isSimpleName" value="true" /> >>> </bean> >>> </property> >>> </bean> >>> </property> >>> <!-- >>> <property name="cacheConfiguration"> >>> <list> >>> <bean >>> class="org.apache.ignite.configuration.CacheConfiguration"> >>> <property name="atomicityMode" value="ATOMIC"/> >>> <property name="backups" value="1"/> >>> </bean> >>> </list> >>> </property> >>> --> >>> <property name="cacheConfiguration"> >>> <list> >>> <!-- Partitioned cache example configuration (Atomic mode). --> >>> <bean class="org.apache.ignite.configuration.CacheConfiguration"> >>> >>> <property name="atomicityMode" value="ATOMIC" /> >>> <property name="backups" value="1" /> >>> <property name="readThrough" value="true" /> >>> <property name="writeThrough" value="true" /> >>> <property name="cacheStoreFactory"> >>> <bean >>> class="org.apache.ignite.cache.store.jdbc.CacheJdbcPojoStoreFactory"> >>> <property name="dataSourceBean" value="myDataSource" /> >>> <!-- <property name="dataSource" ref="myDataSource" /> --> >>> <property name="types"> >>> <list> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcType"> >>> <property name="cacheName" value="buCache" /> >>> <property name="databaseTable" value="BusinessUnit" /> >>> <property name="keyType" value="java.lang.Integer" /> >>> <property name="keyFields"> >>> <list> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.BIGINT" /> >>> </property> >>> <property name="databaseFieldName" value="BUID" /> >>> <property name="javaFieldType" value="java.lang.Integer" /> >>> <property name="javaFieldName" value="buid" /> >>> </bean> >>> </list> >>> </property> >>> <property name="valueType" value="models.BusinessUnit" /> >>> <property name="valueFields"> >>> <list> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.BIGINT" /> >>> </property> >>> <property name="databaseFieldName" value="BUID" /> >>> <property name="javaFieldType" value="java.lang.Integer" /> >>> <property name="javaFieldName" value="buid" /> >>> </bean> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.VARCHAR" /> >>> </property> >>> <property name="databaseFieldName" value="BUName" /> >>> <property name="javaFieldType" value="java.lang.String" /> >>> <property name="javaFieldName" value="buName" /> >>> </bean> >>> <bean class="org.apache.ignite.cache.store.jdbc.JdbcTypeField"> >>> <property name="databaseFieldType"> >>> <util:constant static-field="java.sql.Types.BIGINT" /> >>> </property> >>> <property name="databaseFieldName" value="CreatedByID" /> >>> <property name="javaFieldType" value="java.lang.Integer" /> >>> <property name="javaFieldName" value="createdByID" /> >>> </bean> >>> </list> >>> </property> >>> </bean> >>> </list> >>> </property> >>> </bean> >>> </property> >>> </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 Sat, Apr 30, 2016 at 11:43 AM, Denis Magda <[email protected]> >>> wrote: >>> >>>> 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]> >>>> 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]> >>>>> 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]> >>>>>> 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]> wrote: >>>>>>> >>>>>>>> That runs fine. No errors. >>>>>>>> >>>>>>>> On Fri, Apr 29, 2016 at 2:45 PM, Igor Sapego <[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]> 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/ >>>>>>>>>> 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" >>>>>>>>>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>>>>>>>>> xmlns:util="http://www.springframework.org/schema/util" >>>>>>>>>> xsi:schemaLocation=" >>>>>>>>>> http://www.springframework.org/schema/beans >>>>>>>>>> >>>>>>>>>> http://www.springframework.org/schema/beans/spring-beans.xsd >>>>>>>>>> http://www.springframework.org/schema/util >>>>>>>>>> >>>>>>>>>> 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]> 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]> 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]> 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. >>>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>> >>>> >>> >> >> >
