Any help on this issue please... On Sat, Apr 16, 2016 at 7:29 PM, Murthy Kakarlamudi <[email protected]> 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. >
