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 Sun, 17 Apr 2016 11:35:03 GMT
Hi Pavel...such an obvious thing that I missed. I was always looking at the
.net node config as the error said remote node. Thanks for pointing it out.
I am now getting a different error. I do have a question. As I mentioned
node that gets started from .net acts as server node and loads the database
into cache. So its config has all the CacheStore relation information. In
my c++ node, acting as a client, what should go in its config? As it does
not access DB, I assumed CacheStore related information is not needed in
its config. So I am not sure what should go into my c++ config. If I do
have to have the CacheStore info in the c++ client node, Is there a c++
cachestore implementation example?

Below is the error I am getting:
[07:18:03,292][SEVERE][main][IgniteKernal] Got exception while starting
(will rollback startup routine).
PlatformNoCallbackException []
        at
org.apache.ignite.internal.processors.platform.callback.PlatformCallbackUtils.cacheStoreCreate(Native
Method)
        at
org.apache.ignite.internal.processors.platform.callback.PlatformCallbackGateway.cacheStoreCreate(PlatformCallbackGateway.java:63)
        at
org.apache.ignite.internal.processors.platform.dotnet.PlatformDotNetCacheStore.initialize(PlatformDotNetCacheStore.java:338)
        at
org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.registerStore0(PlatformProcessorImpl.java:347)
        at
org.apache.ignite.internal.processors.platform.PlatformProcessorImpl.registerStore(PlatformProcessorImpl.java:317)
        at
org.apache.ignite.internal.processors.cache.store.CacheOsStoreManager.start0(CacheOsStoreManager.java:60)
        at
org.apache.ignite.internal.processors.cache.GridCacheManagerAdapter.start(GridCacheManagerAdapter.java:50)
        at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCache(GridCacheProcessor.java:1051)
        at
org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:787)
        at
org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:946)
        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:36)
        at
org.apache.ignite.internal.processors.platform.PlatformIgnition.start(PlatformIgnition.java:72)
[07:18:03] Ignite node stopped OK [uptime=00:00:08:267]
An error occurred: Callback handler is not set in native platform.

On Sun, Apr 17, 2016 at 4:15 AM, Pavel Tupitsyn <ptupitsyn@gridgain.com>
wrote:

> Hi,
>
> > Remote node has peer class loading enabled flag different from local
> As the error message says, peerClassLoading flag has to be the same on all
> nodes.
>
> Please remove the following line from your C++ config:
> <property name="peerClassLoadingEnabled" value="true"/>
>
> Pavel.
>
> On Sun, Apr 17, 2016 at 2:29 AM, 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