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 running nodes in .net and c++
Date Mon, 25 Apr 2016 14:32:16 GMT
Any help on this issue please...

On Sat, Apr 16, 2016 at 7:29 PM, Murthy Kakarlamudi <ksatya@gmail.com>
wrote:

> Hi,
>    In my use case, I am starting a node from .net which loads data from
> SQL Server table into cache upon start up. I have to read those entries
> from cache from a c++ node that acts as a client. I am getting the below
> error trying to start the node from c++.
>
> [19:08:57] Security status [authentication=off, tls/ssl=off]
> [19:08:58,163][SEVERE][main][IgniteKernal] Failed to start manager:
> GridManagerAdapter [enabled=true,
> name=o.a.i.i.managers.discovery.GridDiscoveryManager]
> class org.apache.ignite.IgniteCheckedException: Remote node has peer class
> loading enabled flag different from local [locId8=f02445af,
> locPeerClassLoading=true, rmtId8=8e52f9c9, rmtPeerClassLoading=false,
> rmtAddrs=[LAPTOP-QIT4AVOG/0:0:0:0:0:0:0:1, LAPTOP-QIT4AVOG/127.0.0.1,
> LAPTOP-QIT4AVOG/192.168.0.5,
> LAPTOP-QIT4AVOG/2001:0:9d38:90d7:145b:5bf:bb9b:11d9,
> LAPTOP-QIT4AVOG/2600:8806:0:8d00:0:0:0:1,
> /2600:8806:0:8d00:3ccf:1e94:1ab4:83a9,
> /2600:8806:0:8d00:f114:bf30:2068:352d]]
>         at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.checkAttributes(GridDiscoveryManager.java:1027)
>         at
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager.start(GridDiscoveryManager.java:680)
>         at
> org.apache.ignite.internal.IgniteKernal.startManager(IgniteKernal.java:1505)
>         at
> org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:917)
>         at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1688)
>         at
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1547)
>         at
> org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1003)
>         at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:534)
>         at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:515)
>         at org.apache.ignite.Ignition.start(Ignition.java:322)
>         at
> org.apache.ignite.internal.processors.platform.PlatformAbstractBootstrap.start(PlatformAbstractBootstrap.java
>
> Below if my config for .net node:
> <?xml version="1.0" encoding="UTF-8"?>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xsi:schemaLocation="
>         http://www.springframework.org/schema/beans
>         http://www.springframework.org/schema/beans/spring-beans.xsd">
>   <bean id="ignite.cfg"
> class="org.apache.ignite.configuration.IgniteConfiguration">
>     <property name="connectorConfiguration">
>       <bean class="org.apache.ignite.configuration.ConnectorConfiguration">
>         <property name="idleTimeout" value="20000"/>
>       </bean>
>     </property>
>
>     <property name="cacheConfiguration">
>       <list>
>         <bean class="org.apache.ignite.configuration.CacheConfiguration">
>           <property name="name" value="BU"/>
>           <property name="writeThrough" value="true"/>
>           <property name="readThrough" value="true"/>
>           <property name="writeBehindEnabled" value="true"/>
>           <property name="writeBehindFlushFrequency" value="120000"/>
>           <property name="cacheStoreFactory">
>             <bean
> class="org.apache.ignite.platform.dotnet.PlatformDotNetCacheStoreFactory">
>               <property name="typeName"
> value="TestIgniteDAL.SQLServerStore, TestIgniteDAL"/>
>             </bean>
>           </property>
>           <property name ="typeMetadata">
>             <list>
>               <bean class="org.apache.ignite.cache.CacheTypeMetadata">
>                 <!-- Type to query. -->
>                 <property name="valueType" value="BusinessUnit"/>
>                 <!-- Fields to be queried. -->
>                 <property name="queryFields">
>                   <map>
>                     <entry key="BUID" value="java.lang.Integer"/>
>                     <entry key="BUName" value="java.lang.String"/>
>                     <entry key="CreatedByID" value="java.lang.Integer"/>
>                     <entry key="CreatedDate" value="java.util.Date"/>
>                     <entry key="ModifiedByID" value="java.lang.Integer"/>
>                     <entry key="ModifiedDate" value="java.util.Date"/>
>                   </map>
>                 </property>
>                 <!-- Fields to index in ascending order. -->
>                 <property name="ascendingFields">
>                   <map>
>                     <entry key="BUID" value="java.lang.Integer"/>
>                   </map>
>                 </property>
>               </bean>
>             </list>
>           </property>
>         </bean>
>       </list>
>     </property>
>
>     <property name="communicationSpi">
>       <bean
> class="org.apache.ignite.spi.communication.tcp.TcpCommunicationSpi">
>         <property name="sharedMemoryPort" value="-1"/>
>       </bean>
>     </property>
>
>     <property name="discoverySpi">
>       <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
>         <property name="ipFinder">
>           <bean
> class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
>             <property name="addresses">
>               <list>
>                 <value>127.0.0.1:47500..47509</value>
>               </list>
>             </property>
>           </bean>
>         </property>
>       </bean>
>     </property>
>   </bean>
> </beans>
>
>
> Below is my config for node from c++:
> <?xml version="1.0" encoding="UTF-8"?>
>
> <!--
>   Licensed to the Apache Software Foundation (ASF) under one or more
>   contributor license agreements.  See the NOTICE file distributed with
>   this work for additional information regarding copyright ownership.
>   The ASF licenses this file to You under the Apache License, Version 2.0
>   (the "License"); you may not use this file except in compliance with
>   the License.  You may obtain a copy of the License at
>
>        http://www.apache.org/licenses/LICENSE-2.0
>
>   Unless required by applicable law or agreed to in writing, software
>   distributed under the License is distributed on an "AS IS" BASIS,
>   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
>   See the License for the specific language governing permissions and
>   limitations under the License.
> -->
>
> <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="peerClassLoadingEnabled" 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>
>
> Below c++ code is trying to access the cache:
> int main()
> {
> IgniteConfiguration cfg;
>
> cfg.jvmInitMem = 512;
> cfg.jvmMaxMem = 512;
>
> //cfg.springCfgPath = "platforms/cpp/examples/config/example-cache.xml";
> cfg.springCfgPath = "config/example-cache.xml";
> try
> {
> // Start a node.
> Ignite grid = Ignition::Start(cfg);
> std::cout << std::endl;
> std::cout << ">>> Cache node started." << std::endl;
> std::cout << std::endl;
>
> //string key
> Cache<std::string, CBusinessObject> cache = grid.GetCache<std::string,
> CBusinessObject>("BU");
> cache.Clear();
> CBusinessObject obj("MSFT", 45.23);
> //save in cache
> cache.Put("MSFT", obj);
>
> //retreive from cache
> CBusinessObject result = cache.Get("MSFT");
>
> std::cout << result.ToString();
>
> // Stop node.
> Ignition::StopAll(false);
> }
> catch (IgniteError& err)
> {
> std::cout << "An error occurred: " << err.GetText() << std::endl;
> }
>
> std::cout << std::endl;
> std::cout << ">>> Execution finished, press any key to exit ..." <<
> std::endl;
> std::cout << std::endl;
>
> std::cin.get();
>
>     return 0;
> }
>
> Thanks for any help.
>

Mime
View raw message