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 Wed, 27 Apr 2016 15:13:36 GMT
Great..Thank you so much Vladimir. While I wait for 1.6 release, can I get
the latest source, build it to use? Or are the pre-GA 1.6 binaries
available to download?

Thanks,
Murthy.

On Wed, Apr 27, 2016 at 9:45 AM, Vladimir Ozerov <vozerov@gridgain.com>
wrote:

> Murthy,
>
> As per initial issue - I created a ticket and fixed the bug causing your
> initial problem (*"org.apache.ignite.**IgniteException: Spring
> application context resource is not injected"*). The fix will be included
> into upcoming Ignite 1.6 release.
>
> Vladimir.
>
> On Wed, Apr 27, 2016 at 11:50 AM, Vladimir Ozerov <vozerov@gridgain.com>
> wrote:
>
>> Hi Murthy,
>>
>> Please provide configs you used to start clients and servers.
>>
>> Vladimir.
>>
>> On Wed, Apr 27, 2016 at 5:45 AM, Murthy Kakarlamudi <ksatya@gmail.com>
>> wrote:
>>
>>> Can someone please help how Ignite works for the following use case. The
>>> server node loads data from Persistent Store into cache upon start up.
>>> There will be a couple of client nodes (c++, .net based) that needs to
>>> access the cache.
>>> The server node will have the configuration for cachestore. Should the
>>> client nodes also have the configuration for cachestore? I am hoping no
>>> because all they need is to read the cache.
>>> But I am assuming, if these client nodes can also update the cache then
>>> the cachestore config is required if write through is enabled.
>>> Please validate my assumptions.
>>>
>>> Thanks,
>>> Satya...
>>>
>>> On Tue, Apr 26, 2016 at 9:44 AM, Murthy Kakarlamudi <ksatya@gmail.com>
>>> wrote:
>>>
>>>> No..I am not. I have different configs for my server node in java vs my
>>>> client node in c++. That was the question I had. In my server node that
>>>> loads the data from persistent store to cache, I configured cachestore. But
>>>> my c++ node is only a client node that needs to access cache. So I was not
>>>> sure if my client node config should have the cachestore details as well.
>>>>
>>>> Let me try the option you suggested.
>>>>
>>>> On Tue, Apr 26, 2016 at 9:40 AM, Vladimir Ozerov <vozerov@gridgain.com>
>>>> wrote:
>>>>
>>>>> HI Murthy,
>>>>>
>>>>> Do you start all nodes with the same XML configuration? Please ensure
>>>>> that this is so, and all nodes know all caches from configuration in
>>>>> advance.
>>>>>
>>>>> Vladimir.
>>>>>
>>>>> On Tue, Apr 26, 2016 at 3:27 PM, Murthy Kakarlamudi <ksatya@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Vladimir...I made the update and still running into the same issue.
>>>>>>
>>>>>> Here is the updated spring config for my Java node:
>>>>>> <?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. -->
>>>>>>
>>>>>> <!-- Ignite Spring configuration file to startup Ignite cache. This
>>>>>> file
>>>>>> demonstrates how to configure cache using Spring. Provided cache will
>>>>>> be
>>>>>> created on node startup. Use this configuration file when running
>>>>>> HTTP REST
>>>>>> examples (see 'examples/rest' folder). When starting a standalone
>>>>>> node, you
>>>>>> need to execute the following command:
>>>>>> {IGNITE_HOME}/bin/ignite.{bat|sh}
>>>>>> examples/config/example-cache.xml When starting Ignite from Java IDE,
>>>>>> pass
>>>>>> path to this file to Ignition:
>>>>>> Ignition.start("examples/config/example-cache.xml"); -->
>>>>>> <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://LAPTOP-QIT4AVOG\MSSQLSERVER64;databaseName=PrimeOne;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" />
>>>>>> </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>
>>>>>>
>>>>>>
>>>>>> Error:
>>>>>> >>> Cache node started.
>>>>>>
>>>>>> [08:27:25,045][SEVERE][exchange-worker-#38%null%][GridDhtPartitionsExchangeFuture]
>>>>>> Failed to reinitialize local partitions (preloading will be stopped):
>>>>>> GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=11,
>>>>>> minorTopVer=1], nodeId=bc7d2aa2, evt=DISCOVERY_CUSTOM_EVT]
>>>>>> 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:1243)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1638)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCachesStart(GridCacheProcessor.java:1563)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.startCaches(GridDhtPartitionsExchangeFuture.java:956)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:523)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1297)
>>>>>>         at
>>>>>> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>>> [08:27:25,063][SEVERE][exchange-worker-#38%null%][GridCachePartitionExchangeManager]
>>>>>> Failed to wait for completion of partition map exchange (preloading will
>>>>>> not start): GridDhtPartitionsExchangeFuture [dummy=false,
>>>>>> forcePreload=false, reassign=false, discoEvt=DiscoveryCustomEvent
>>>>>> [customMsg=DynamicCacheChangeBatch [reqs=[DynamicCacheChangeRequest
>>>>>> [deploymentId=8ea535e3451-d29afc27-9b4b-4125-bbf2-232c08daa0cb,
>>>>>> startCfg=CacheConfiguration [name=buCache,
>>>>>> storeConcurrentLoadAllThreshold=5, rebalancePoolSize=2,
>>>>>> rebalanceTimeout=10000, evictPlc=null, evictSync=false,
>>>>>> evictKeyBufSize=1024, evictSyncConcurrencyLvl=4, evictSyncTimeout=10000,
>>>>>> evictFilter=null, evictMaxOverflowRatio=10.0, eagerTtl=true,
>>>>>> dfltLockTimeout=0, startSize=1500000, nearCfg=null, writeSync=PRIMARY_SYNC,
>>>>>> storeFactory=CacheJdbcPojoStoreFactory [batchSizw=512,
>>>>>> dataSrcBean=myDataSource, dialect=null, maxPoolSize=4, maxWriteAttempts=2,
>>>>>> parallelLoadCacheMinThreshold=512,
>>>>>> hasher=o.a.i.cache.store.jdbc.JdbcTypeDefaultHasher@78d010a2,
>>>>>> dataSrc=null], storeKeepBinary=false, loadPrevVal=false,
>>>>>> aff=o.a.i.cache.affinity.rendezvous.RendezvousAffinityFunction@76311661,
>>>>>> cacheMode=PARTITIONED, atomicityMode=ATOMIC, atomicWriteOrderMode=PRIMARY,
>>>>>> backups=1, invalidate=false, tmLookupClsName=null, rebalanceMode=ASYNC,
>>>>>> rebalanceOrder=0, rebalanceBatchSize=524288,
>>>>>> rebalanceBatchesPrefetchCount=2, offHeapMaxMem=-1, swapEnabled=false,
>>>>>> maxConcurrentAsyncOps=500, writeBehindEnabled=false,
>>>>>> writeBehindFlushSize=10240, writeBehindFlushFreq=5000,
>>>>>> writeBehindFlushThreadCnt=1, writeBehindBatchSize=512,
>>>>>> memMode=ONHEAP_TIERED,
>>>>>> affMapper=o.a.i.i.processors.cache.CacheDefaultBinaryAffinityKeyMapper@2e41d426,
>>>>>> rebalanceDelay=0, rebalanceThrottle=0, interceptor=null,
>>>>>> longQryWarnTimeout=3000, readFromBackup=true,
>>>>>> nodeFilter=o.a.i.configuration.CacheConfiguration$IgniteAllNodesPredicate@d211e68,
>>>>>> sqlSchema=null, sqlEscapeAll=false, sqlOnheapRowCacheSize=10240,
>>>>>> snapshotableIdx=false, cpOnRead=true, topValidator=null], cacheType=USER,
>>>>>> initiatingNodeId=bc7d2aa2-4a64-467f-8097-d0f579dec0b3, nearCacheCfg=null,
>>>>>> clientStartOnly=true, stop=false, close=false, failIfExists=false,
>>>>>> template=false, exchangeNeeded=true, cacheFutTopVer=null,
>>>>>> cacheName=buCache]], clientNodes=null,
>>>>>> id=45ec9825451-cbb8263a-223e-4f3e-8492-71f2612ddae6,
>>>>>> clientReconnect=false], affTopVer=AffinityTopologyVersion [topVer=11,
>>>>>> minorTopVer=1], super=DiscoveryEvent [evtNode=TcpDiscoveryNode
>>>>>> [id=bc7d2aa2-4a64-467f-8097-d0f579dec0b3, addrs=[0:0:0:0:0:0:0:1,
>>>>>> 127.0.0.1, 192.168.0.5, 2001:0:9d38:90d7:1064:ea:bb9b:11d9,
>>>>>> 2600:8806:0:8d00:0:0:0:1, 2600:8806:0:8d00:15e5:c0bf:286e:8785,
>>>>>> 2600:8806:0:8d00:3ccf:1e94:1ab4:83a9], sockAddrs=[LAPTOP-QIT4AVOG/
>>>>>> 192.168.0.5:0, /0:0:0:0:0:0:0:1:0, LAPTOP-QIT4AVOG/192.168.0.5:0, /
>>>>>> 127.0.0.1:0, LAPTOP-QIT4AVOG/192.168.0.5:0, /192.168.0.5:0,
>>>>>> LAPTOP-QIT4AVOG/192.168.0.5:0,
>>>>>> /2001:0:9d38:90d7:1064:ea:bb9b:11d9:0, LAPTOP-QIT4AVOG/192.168.0.5:0,
>>>>>> /2600:8806:0:8d00:0:0:0:1:0, /2600:8806:0:8d00:15e5:c0bf:286e:8785:0,
>>>>>> /2600:8806:0:8d00:3ccf:1e94:1ab4:83a9:0], discPort=0, order=11, intOrder=0,
>>>>>> lastExchangeTime=1461673644205, loc=true, ver=1.5.0#20151229-sha1:f1f8cda2,
>>>>>> isClient=true], topVer=11, nodeId8=bc7d2aa2, msg=null,
>>>>>> type=DISCOVERY_CUSTOM_EVT, tstamp=1461673645026]],
>>>>>> rcvdIds=GridConcurrentHashSet [elements=[]], rmtIds=null,
>>>>>> exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion
>>>>>> [topVer=11, minorTopVer=1], nodeId=bc7d2aa2, evt=DISCOVERY_CUSTOM_EVT],
>>>>>> init=true, ready=false, replied=false, added=true,
>>>>>> initFut=GridFutureAdapter [resFlag=2, res=false, startTime=1461673645026,
>>>>>> endTime=1461673645046, ignoreInterrupts=false, lsnr=null, state=DONE],
>>>>>> topSnapshot=null, lastVer=null, partReleaseFut=null, skipPreload=false,
>>>>>> clientOnlyExchange=false, initTs=1461673645026,
>>>>>> oldest=7700cd68-08b1-4571-8744-0e91dcdad9b0, oldestOrder=1, evtLatch=0,
>>>>>> remaining=[], super=GridFutureAdapter [resFlag=1, res=class
>>>>>> o.a.i.IgniteException: Spring application context resource is not
>>>>>> injected., startTime=1461673645026, endTime=1461673645046,
>>>>>> ignoreInterrupts=false, lsnr=null, state=DONE]]
>>>>>> class org.apache.ignite.IgniteCheckedException: Spring application
>>>>>> context resource is not injected.
>>>>>>         at
>>>>>> org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7005)
>>>>>>         at
>>>>>> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:166)
>>>>>>         at
>>>>>> org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:115)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1299)
>>>>>>         at
>>>>>> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>>> Caused by: 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:1243)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1638)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCachesStart(GridCacheProcessor.java:1563)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.startCaches(GridDhtPartitionsExchangeFuture.java:956)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:523)
>>>>>>         at
>>>>>> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:1297)
>>>>>>
>>>>>> On Tue, Apr 26, 2016 at 8:06 AM, Vladimir Ozerov <
>>>>>> vozerov@gridgain.com> wrote:
>>>>>>
>>>>>>> Hi Murthy,
>>>>>>>
>>>>>>> Seems that you faced a kind of usability issue, which happens only
>>>>>>> in some specific cases. Please try replacing the following line in your
>>>>>>> config:
>>>>>>>
>>>>>>> <property name="dataSourceBean" value="myDataSource" />
>>>>>>>
>>>>>>> with this:
>>>>>>>
>>>>>>> <property name="dataSource" ref="myDataSource" />
>>>>>>>
>>>>>>> It should help.
>>>>>>>
>>>>>>> Vladimir.
>>>>>>>
>>>>>>> On Tue, Apr 26, 2016 at 1:36 AM, Murthy Kakarlamudi <
>>>>>>> ksatya@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi Alexey...Apologize the delay in my response. Below are the 2
>>>>>>>> links from gdrive for my Java and c++ projects.
>>>>>>>>
>>>>>>>> Java Project:
>>>>>>>> https://drive.google.com/open?id=0B8lM91-_3MwRZmF6N0tnN1pyN2M
>>>>>>>>
>>>>>>>> C++ Project:
>>>>>>>> https://drive.google.com/open?id=0B8lM91-_3MwRMGE5akVWVXc0RXc
>>>>>>>>
>>>>>>>> Please let me know if you have any difficulty downloading the
>>>>>>>> projects.
>>>>>>>>
>>>>>>>> Thanks,
>>>>>>>> Satya.
>>>>>>>>
>>>>>>>> On Mon, Apr 25, 2016 at 10:49 AM, Alexey Kuznetsov <
>>>>>>>> akuznetsov@gridgain.com> wrote:
>>>>>>>>
>>>>>>>>> I see in stack trace "Caused by: class org.apache.ignite.IgniteException:
>>>>>>>>> Spring application context resource is not injected."
>>>>>>>>>
>>>>>>>>> Also CacheJdbcPojoStoreFactory contains such declaration:
>>>>>>>>> @SpringApplicationContextResource
>>>>>>>>> private transient Object appCtx;
>>>>>>>>>
>>>>>>>>> Anybody know why appCtx may not be injected?
>>>>>>>>>
>>>>>>>>> Also Satya, it is possible for you to prepare small reproducible
>>>>>>>>> example that we could debug?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Mon, Apr 25, 2016 at 9:39 PM, Vladimir Ozerov <
>>>>>>>>> vozerov@gridgain.com> wrote:
>>>>>>>>>
>>>>>>>>>> Alexey Kuznetsov,
>>>>>>>>>>
>>>>>>>>>> Provided you have more expertise with POJO store, could you
>>>>>>>>>> please advise what could cause this exception? Seems that POJO store
>>>>>>>>>> expects some injection, which doesn't happen.
>>>>>>>>>> Are there any specific requirements here? C++ node starts as a
>>>>>>>>>> regular node and also use Spring.
>>>>>>>>>>
>>>>>>>>>> Vladimir.
>>>>>>>>>>
>>>>>>>>>> On Mon, Apr 25, 2016 at 5:32 PM, Murthy Kakarlamudi <
>>>>>>>>>> ksatya@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> 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.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Alexey Kuznetsov
>>>>>>>>> GridGain Systems
>>>>>>>>> www.gridgain.com
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Mime
View raw message