ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Murthy Kakarlamudi <ksa...@gmail.com>
Subject Re: Error starting c++ client node using 1.6
Date Thu, 05 May 2016 11:36:26 GMT
Hi Vladimir...Yes that is correct. I 1.6 binary that I downloaded from the
Jenkins server did not have your change. However 1.6 source I downloaded
from git branch has your change. I am building that and see if I can get
rid of the error.

Thanks,
Murthy.

On Wed, May 4, 2016 at 4:30 AM, Vladimir Ozerov <vozerov@gridgain.com>
wrote:

> 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 <ksatya@gmail.com>
> 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 <dmagda@gridgain.com> 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 <ksatya@gmail.com> 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 <ksatya@gmail.com>
>>> 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 <dmagda@gridgain.com>
>>>> 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 <ksatya@gmail.com>
>>>>> 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 <ksatya@gmail.com>
>>>>> 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 <ksatya@gmail.com
>>>>>> > 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 <isapego@gridgain.com>
>>>>>>> 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 <
>>>>>>>> ksatya@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> That runs fine. No errors.
>>>>>>>>>
>>>>>>>>> On Fri, Apr 29, 2016 at 2:45 PM, Igor Sapego <isapego@gridgain.com
>>>>>>>>> > 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 <
>>>>>>>>>> ksatya@gmail.com> 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 <
>>>>>>>>>>> isapego@gridgain.com> 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 <
>>>>>>>>>>>> isapego@gridgain.com> 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 <
>>>>>>>>>>>>> ksatya@gmail.com> 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.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>>
>>
>

Mime
View raw message