You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Max Barrios <sp...@gmail.com> on 2019/02/07 02:59:08 UTC

Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

I am running an application written in Scala that is using Spark, Ignite,
and persisting from writeThrough cache to Cassandra. From the Ignite base
concepts code you are supposed to set the CacheStoreFactory as such:

<property name="cacheStoreFactory">
    <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
        <!-- Datasource configuration bean which is responsible for
Cassandra connection details -->
        <property name="dataSourceBean" value="cassandraDataSource"/>
        <!-- Persistent settings bean which is responsible for the
details of how objects will be persisted to Cassandra -->
        <property name="persistenceSettingsBean"
value="cache1_persistence_settings"/>
    </bean></property>

Yet, when I run the application I get the error:

java.lang.IllegalStateException:
Failed to get Cassandra DataSource cause Spring application context wasn't
injected into CassandraCacheStoreFactory

All of the Ignite.xml, connection-settings.xml and cassandra-store.xml are
all written the same way as the examples explain on apacheignite Cassandra
integration page.

I am initializing the CassandraCacheStoreFactory as follows:

val cassandraDataSource = new DataSource
cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
val robinPolicy = new RoundRobinPolicy
cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
cassandraDataSource.setReadConsistency("ONE")
cassandraDataSource.setWriteConsistency("ONE")

val CONFIG = "src/main/resources/default-cassandra-store.xml"
val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)

And I am starting the Ignite code as follows:

val igniteContext = new IgniteContext(sparkContext, config.igniteConfig,
true)
val ignite = igniteContext.ignite()

What am I missing or doing wrong that is causing this error? I have yet to
find a simple, comprehensive example in Scala for doing this.

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

1) Well, I guess you should use a Spring configuration and define bean
there.

2) Yes, that should work.

Regards,
-- 
Ilya Kasnacheev


чт, 14 февр. 2019 г. в 22:14, Max Barrios <sp...@gmail.com>:

> Hi,
>
> 1) to inject Spring Bean to the client config, do you have a working
> example of do this for  Ignite? I am new to Spring and Ignite. I thought I
> had done this with the below code. What ami I missing?
>
> 2) As of today, whether I have a predefined server cache or not, I keep
> getting this “Failed to get Cassandra DataSource cause Spring application
> context wasn't injected into CassandraCacheStoreFactory” error. You are
> saying I need to have the Server cache defined exactly how my client code
> had done it, correct?
>
> Max
>
> Sent from my iPhone
>
> On Feb 14, 2019, at 05:34, Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
> Hello!
>
> So this configuration is sent from server node to client node, but it
> lacks bean to be usable there. So you should either find a way to inject
> Spring bean to client configuration, or rewrite server cache definition in
> the same way as you tried to do on client.
>
> As I have already said, when client joins, if cache is already started on
> cluster then client configuration will be thrown away and one received from
> server will be used instead.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> чт, 14 февр. 2019 г. в 00:17, Max Barrios <sp...@gmail.com>:
>
>> Yes it is defined on the server node.
>>
>> Sent from my iPhone
>>
>> On Feb 13, 2019, at 06:50, Ilya Kasnacheev <il...@gmail.com>
>> wrote:
>>
>> Hello!
>>
>> Is this cache also defined on server node? Only the first cache
>> configuration is used to create it, and all other ones are thrown away
>> (just the name is used).
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> вт, 12 февр. 2019 г. в 06:39, Max Barrios <sp...@gmail.com>:
>>
>>> Hi,
>>>
>>> This is the code fragment from MyIgniteTest.scala:
>>>
>>>       val cassandraDataSource = new DataSource
>>>       cassandraDataSource.setContactPoints("10.0.0.1")
>>>       val robinPolicy = new RoundRobinPolicy
>>>       cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>       cassandraDataSource.setReadConsistency("ONE")
>>>       cassandraDataSource.setWriteConsistency("ONE")
>>>
>>>       // Read the persistence settings for Cassandra Key-Value persistance
>>>       val persistenceSettings = new KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")
>>>
>>>       // Define Cassandra cache store factory, set the cassandra dataSource and persistence settings
>>>       val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>       cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>       cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>
>>>       // Define the cache configuration, set the cassandraCacheStoreFactory as cacheStoreFactory , enable write through, write behind and read through
>>>       val cassandraConfiguration = new CacheConfiguration
>>>       cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)
>>>
>>>       // Sets the cache configuration
>>>       val cfg =  new IgniteConfiguration
>>>       cfg.setCacheConfiguration(cassandraConfiguration)
>>>
>>>       // Starting Ignite.
>>>       Ignition.setClientMode(true)
>>>       val ignite = Ignition.start(cfg)
>>>
>>>
>>> Thanks,
>>>
>>> Max
>>>
>>> On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com>
>>> wrote:
>>>
>>>> Hello!
>>>>
>>>> How do you pass CassandraCacheStoreFactory to your cache configuration?
>>>>
>>>> I can see XML fragment and code fragment in your first message, which
>>>> one are you using? In your code fragment there's no call of cache
>>>> configuration setter.
>>>>
>>>> Regards,
>>>> --
>>>> Ilya Kasnacheev
>>>>
>>>>
>>>> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>>>>
>>>>> Hi,
>>>>>
>>>>> Stack trace is below:
>>>>>
>>>>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>>>>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>>>>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>> [error]     ... 3 more
>>>>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>>>>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>>> [error] >>> Grid uptime: 00:00:02.620
>>>>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>>>>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>>> [error]     ... 5 more
>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>>> name := "myignitetest"
>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>>> [error]     ... 5 more
>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>> Added com.google.common 1.6 dependancy
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>>
>>>>>
>>>>> Thanks!
>>>>>
>>>>> Max
>>>>>
>>>>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <
>>>>> ilya.kasnacheev@gmail.com> wrote:
>>>>>
>>>>>> Hello!
>>>>>>
>>>>>> Can you provide stack trace of the exception?
>>>>>>
>>>>>> Regards,
>>>>>> --
>>>>>> Ilya Kasnacheev
>>>>>>
>>>>>>
>>>>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>>>>
>>>>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop
>>>>>>> 2.8.5 so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>>>>>>>
>>>>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> As far as I know, yes. Where would/should I look to check?
>>>>>>>>
>>>>>>>> Also, do I need to copy the ignite cassandra libraries to my
>>>>>>>> client to build that client?
>>>>>>>>
>>>>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <
>>>>>>>> ilya.kasnacheev@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hello!
>>>>>>>>>
>>>>>>>>> This is unusual, since you have set cassandraDataSource directly
>>>>>>>>> and bean/app context should not be checked when you do.
>>>>>>>>> Are you sure that it is the only cassandra cache store factory
>>>>>>>>> that gets used in actual caches?
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> --
>>>>>>>>> Ilya Kasnacheev
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>>>>
>>>>>>>>>> I am running an application written in Scala that is using Spark,
>>>>>>>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>>>>>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>>>>>>>> such:
>>>>>>>>>>
>>>>>>>>>> <property name="cacheStoreFactory">
>>>>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>>>>     </bean></property>
>>>>>>>>>>
>>>>>>>>>> Yet, when I run the application I get the error:
>>>>>>>>>>
>>>>>>>>>> java.lang.IllegalStateException:
>>>>>>>>>> Failed to get Cassandra DataSource cause Spring application
>>>>>>>>>> context wasn't injected into CassandraCacheStoreFactory
>>>>>>>>>>
>>>>>>>>>> All of the Ignite.xml, connection-settings.xml and
>>>>>>>>>> cassandra-store.xml are all written the same way as the examples explain on
>>>>>>>>>> apacheignite Cassandra integration page.
>>>>>>>>>>
>>>>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> val cassandraDataSource = new DataSource
>>>>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>>>>>>>
>>>>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>>>>
>>>>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>>>>
>>>>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>>>>
>>>>>>>>>> val igniteContext = new IgniteContext(sparkContext,
>>>>>>>>>> config.igniteConfig, true)
>>>>>>>>>> val ignite = igniteContext.ignite()
>>>>>>>>>>
>>>>>>>>>> What am I missing or doing wrong that is causing this error? I
>>>>>>>>>> have yet to find a simple, comprehensive example in Scala for doing this.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
Hi,

1) to inject Spring Bean to the client config, do you have a working example of do this for  Ignite? I am new to Spring and Ignite. I thought I had done this with the below code. What ami I missing?

2) As of today, whether I have a predefined server cache or not, I keep getting this “Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory” error. You are saying I need to have the Server cache defined exactly how my client code had done it, correct?

Max

Sent from my iPhone

> On Feb 14, 2019, at 05:34, Ilya Kasnacheev <il...@gmail.com> wrote:
> 
> Hello!
> 
> So this configuration is sent from server node to client node, but it lacks bean to be usable there. So you should either find a way to inject Spring bean to client configuration, or rewrite server cache definition in the same way as you tried to do on client.
> 
> As I have already said, when client joins, if cache is already started on cluster then client configuration will be thrown away and one received from server will be used instead.
> 
> Regards,
> -- 
> Ilya Kasnacheev
> 
> 
> чт, 14 февр. 2019 г. в 00:17, Max Barrios <sp...@gmail.com>:
>> Yes it is defined on the server node. 
>> 
>> Sent from my iPhone
>> 
>>> On Feb 13, 2019, at 06:50, Ilya Kasnacheev <il...@gmail.com> wrote:
>>> 
>>> Hello!
>>> 
>>> Is this cache also defined on server node? Only the first cache configuration is used to create it, and all other ones are thrown away (just the name is used).
>>> 
>>> Regards,
>>> -- 
>>> Ilya Kasnacheev
>>> 
>>> 
>>> вт, 12 февр. 2019 г. в 06:39, Max Barrios <sp...@gmail.com>:
>>>> Hi,
>>>> 
>>>> This is the code fragment from MyIgniteTest.scala:
>>>> 
>>>>       val cassandraDataSource = new DataSource
>>>>       cassandraDataSource.setContactPoints("10.0.0.1")
>>>>       val robinPolicy = new RoundRobinPolicy
>>>>       cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>       cassandraDataSource.setReadConsistency("ONE")
>>>>       cassandraDataSource.setWriteConsistency("ONE")
>>>> 
>>>>       // Read the persistence settings for Cassandra Key-Value persistance
>>>>       val persistenceSettings = new KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")
>>>> 
>>>>       // Define Cassandra cache store factory, set the cassandra dataSource and persistence settings
>>>>       val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>       cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>       cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>> 
>>>>       // Define the cache configuration, set the cassandraCacheStoreFactory as cacheStoreFactory , enable write through, write behind and read through
>>>>       val cassandraConfiguration = new CacheConfiguration
>>>>       cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)
>>>> 
>>>>       // Sets the cache configuration
>>>>       val cfg =  new IgniteConfiguration
>>>>       cfg.setCacheConfiguration(cassandraConfiguration)
>>>> 
>>>>       // Starting Ignite.
>>>>       Ignition.setClientMode(true)
>>>>       val ignite = Ignition.start(cfg)
>>>> 
>>>> Thanks,
>>>> 
>>>> Max
>>>> 
>>>>> On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>> Hello!
>>>>> 
>>>>> How do you pass CassandraCacheStoreFactory to your cache configuration?
>>>>> 
>>>>> I can see XML fragment and code fragment in your first message, which one are you using? In your code fragment there's no call of cache configuration setter.
>>>>> 
>>>>> Regards,
>>>>> -- 
>>>>> Ilya Kasnacheev
>>>>> 
>>>>> 
>>>>> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>>>>>> Hi, 
>>>>>> 
>>>>>> Stack trace is below:
>>>>>> 
>>>>>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>>>>>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>>>>>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>>>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>>>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>>> [error]     ... 3 more
>>>>>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>>>>>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>>>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>>>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>>>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>>>> [error] >>> Grid uptime: 00:00:02.620
>>>>>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>>>>>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>>>> [error]     ... 5 more
>>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>>>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>>>> name := "myignitetest"
>>>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>>>> [error]     ... 5 more
>>>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>> Added com.google.common 1.6 dependancy
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>>> 
>>>>>> Thanks!
>>>>>> 
>>>>>> Max
>>>>>> 
>>>>>>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>>>> Hello!
>>>>>>> 
>>>>>>> Can you provide stack trace of the exception?
>>>>>>> 
>>>>>>> Regards,
>>>>>>> -- 
>>>>>>> Ilya Kasnacheev
>>>>>>> 
>>>>>>> 
>>>>>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>>>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop. 
>>>>>>>> 
>>>>>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:
>>>>>>>>> As far as I know, yes. Where would/should I look to check? 
>>>>>>>>> 
>>>>>>>>> Also, do I need to copy the ignite cassandra libraries to my client to build that client? 
>>>>>>>>> 
>>>>>>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>>>>>>> Hello!
>>>>>>>>>> 
>>>>>>>>>> This is unusual, since you have set cassandraDataSource directly and bean/app context should not be checked when you do.
>>>>>>>>>> Are you sure that it is the only cassandra cache store factory that gets used in actual caches?
>>>>>>>>>> 
>>>>>>>>>> Regards,
>>>>>>>>>> -- 
>>>>>>>>>> Ilya Kasnacheev
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>>>>>> I am running an application written in Scala that is using Spark, Ignite, and persisting from writeThrough cache to Cassandra. From the Ignite base concepts code you are supposed to set the CacheStoreFactory as such:
>>>>>>>>>>> 
>>>>>>>>>>> <property name="cacheStoreFactory">
>>>>>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>>>>>     </bean>
>>>>>>>>>>> </property>
>>>>>>>>>>> Yet, when I run the application I get the error:
>>>>>>>>>>> 
>>>>>>>>>>> java.lang.IllegalStateException:
>>>>>>>>>>> Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>>>>>>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml are all written the same way as the examples explain on apacheignite Cassandra integration page. 
>>>>>>>>>>> 
>>>>>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:          
>>>>>>>>>>> 
>>>>>>>>>>> val cassandraDataSource = new DataSource
>>>>>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>>>>>> cassandraDataSource.setWriteConsistency("ONE")         
>>>>>>>>>>> 
>>>>>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>>>>> 
>>>>>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>>>>> 
>>>>>>>>>>> val igniteContext = new IgniteContext(sparkContext, config.igniteConfig, true) 
>>>>>>>>>>> val ignite = igniteContext.ignite() 
>>>>>>>>>>> 
>>>>>>>>>>> What am I missing or doing wrong that is causing this error? I have yet to find a simple, comprehensive example in Scala for doing this. 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

So this configuration is sent from server node to client node, but it lacks
bean to be usable there. So you should either find a way to inject Spring
bean to client configuration, or rewrite server cache definition in the
same way as you tried to do on client.

As I have already said, when client joins, if cache is already started on
cluster then client configuration will be thrown away and one received from
server will be used instead.

Regards,
-- 
Ilya Kasnacheev


чт, 14 февр. 2019 г. в 00:17, Max Barrios <sp...@gmail.com>:

> Yes it is defined on the server node.
>
> Sent from my iPhone
>
> On Feb 13, 2019, at 06:50, Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
> Hello!
>
> Is this cache also defined on server node? Only the first cache
> configuration is used to create it, and all other ones are thrown away
> (just the name is used).
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> вт, 12 февр. 2019 г. в 06:39, Max Barrios <sp...@gmail.com>:
>
>> Hi,
>>
>> This is the code fragment from MyIgniteTest.scala:
>>
>>       val cassandraDataSource = new DataSource
>>       cassandraDataSource.setContactPoints("10.0.0.1")
>>       val robinPolicy = new RoundRobinPolicy
>>       cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>       cassandraDataSource.setReadConsistency("ONE")
>>       cassandraDataSource.setWriteConsistency("ONE")
>>
>>       // Read the persistence settings for Cassandra Key-Value persistance
>>       val persistenceSettings = new KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")
>>
>>       // Define Cassandra cache store factory, set the cassandra dataSource and persistence settings
>>       val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>       cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>       cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>
>>       // Define the cache configuration, set the cassandraCacheStoreFactory as cacheStoreFactory , enable write through, write behind and read through
>>       val cassandraConfiguration = new CacheConfiguration
>>       cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)
>>
>>       // Sets the cache configuration
>>       val cfg =  new IgniteConfiguration
>>       cfg.setCacheConfiguration(cassandraConfiguration)
>>
>>       // Starting Ignite.
>>       Ignition.setClientMode(true)
>>       val ignite = Ignition.start(cfg)
>>
>>
>> Thanks,
>>
>> Max
>>
>> On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com>
>> wrote:
>>
>>> Hello!
>>>
>>> How do you pass CassandraCacheStoreFactory to your cache configuration?
>>>
>>> I can see XML fragment and code fragment in your first message, which
>>> one are you using? In your code fragment there's no call of cache
>>> configuration setter.
>>>
>>> Regards,
>>> --
>>> Ilya Kasnacheev
>>>
>>>
>>> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>>>
>>>> Hi,
>>>>
>>>> Stack trace is below:
>>>>
>>>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>>>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>>>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     ... 3 more
>>>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>>>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>> [error] >>> Grid uptime: 00:00:02.620
>>>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>>>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     ... 5 more
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> name := "myignitetest"
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     ... 5 more
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> Added com.google.common 1.6 dependancy
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>>
>>>>
>>>> Thanks!
>>>>
>>>> Max
>>>>
>>>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hello!
>>>>>
>>>>> Can you provide stack trace of the exception?
>>>>>
>>>>> Regards,
>>>>> --
>>>>> Ilya Kasnacheev
>>>>>
>>>>>
>>>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>>>
>>>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5
>>>>>> so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>>>>>>
>>>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> As far as I know, yes. Where would/should I look to check?
>>>>>>>
>>>>>>> Also, do I need to copy the ignite cassandra libraries to my client
>>>>>>> to build that client?
>>>>>>>
>>>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <
>>>>>>> ilya.kasnacheev@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hello!
>>>>>>>>
>>>>>>>> This is unusual, since you have set cassandraDataSource directly
>>>>>>>> and bean/app context should not be checked when you do.
>>>>>>>> Are you sure that it is the only cassandra cache store factory that
>>>>>>>> gets used in actual caches?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> --
>>>>>>>> Ilya Kasnacheev
>>>>>>>>
>>>>>>>>
>>>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>>>
>>>>>>>>> I am running an application written in Scala that is using Spark,
>>>>>>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>>>>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>>>>>>> such:
>>>>>>>>>
>>>>>>>>> <property name="cacheStoreFactory">
>>>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>>>     </bean></property>
>>>>>>>>>
>>>>>>>>> Yet, when I run the application I get the error:
>>>>>>>>>
>>>>>>>>> java.lang.IllegalStateException:
>>>>>>>>> Failed to get Cassandra DataSource cause Spring application
>>>>>>>>> context wasn't injected into CassandraCacheStoreFactory
>>>>>>>>>
>>>>>>>>> All of the Ignite.xml, connection-settings.xml and
>>>>>>>>> cassandra-store.xml are all written the same way as the examples explain on
>>>>>>>>> apacheignite Cassandra integration page.
>>>>>>>>>
>>>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> val cassandraDataSource = new DataSource
>>>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>>>>>>
>>>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>>>
>>>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>>>
>>>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>>>
>>>>>>>>> val igniteContext = new IgniteContext(sparkContext,
>>>>>>>>> config.igniteConfig, true)
>>>>>>>>> val ignite = igniteContext.ignite()
>>>>>>>>>
>>>>>>>>> What am I missing or doing wrong that is causing this error? I
>>>>>>>>> have yet to find a simple, comprehensive example in Scala for doing this.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
Yes it is defined on the server node. 

Sent from my iPhone

> On Feb 13, 2019, at 06:50, Ilya Kasnacheev <il...@gmail.com> wrote:
> 
> Hello!
> 
> Is this cache also defined on server node? Only the first cache configuration is used to create it, and all other ones are thrown away (just the name is used).
> 
> Regards,
> -- 
> Ilya Kasnacheev
> 
> 
> вт, 12 февр. 2019 г. в 06:39, Max Barrios <sp...@gmail.com>:
>> Hi,
>> 
>> This is the code fragment from MyIgniteTest.scala:
>> 
>>       val cassandraDataSource = new DataSource
>>       cassandraDataSource.setContactPoints("10.0.0.1")
>>       val robinPolicy = new RoundRobinPolicy
>>       cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>       cassandraDataSource.setReadConsistency("ONE")
>>       cassandraDataSource.setWriteConsistency("ONE")
>> 
>>       // Read the persistence settings for Cassandra Key-Value persistance
>>       val persistenceSettings = new KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")
>> 
>>       // Define Cassandra cache store factory, set the cassandra dataSource and persistence settings
>>       val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>       cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>       cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>> 
>>       // Define the cache configuration, set the cassandraCacheStoreFactory as cacheStoreFactory , enable write through, write behind and read through
>>       val cassandraConfiguration = new CacheConfiguration
>>       cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)
>> 
>>       // Sets the cache configuration
>>       val cfg =  new IgniteConfiguration
>>       cfg.setCacheConfiguration(cassandraConfiguration)
>> 
>>       // Starting Ignite.
>>       Ignition.setClientMode(true)
>>       val ignite = Ignition.start(cfg)
>> 
>> Thanks,
>> 
>> Max
>> 
>>> On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com> wrote:
>>> Hello!
>>> 
>>> How do you pass CassandraCacheStoreFactory to your cache configuration?
>>> 
>>> I can see XML fragment and code fragment in your first message, which one are you using? In your code fragment there's no call of cache configuration setter.
>>> 
>>> Regards,
>>> -- 
>>> Ilya Kasnacheev
>>> 
>>> 
>>> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>>>> Hi, 
>>>> 
>>>> Stack trace is below:
>>>> 
>>>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>>>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>>>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     ... 3 more
>>>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>>>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>> [error] >>> Grid uptime: 00:00:02.620
>>>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>>>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     ... 5 more
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> name := "myignitetest"
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     ... 5 more
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> Added com.google.common 1.6 dependancy
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> 
>>>> Thanks!
>>>> 
>>>> Max
>>>> 
>>>>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>> Hello!
>>>>> 
>>>>> Can you provide stack trace of the exception?
>>>>> 
>>>>> Regards,
>>>>> -- 
>>>>> Ilya Kasnacheev
>>>>> 
>>>>> 
>>>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop. 
>>>>>> 
>>>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:
>>>>>>> As far as I know, yes. Where would/should I look to check? 
>>>>>>> 
>>>>>>> Also, do I need to copy the ignite cassandra libraries to my client to build that client? 
>>>>>>> 
>>>>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>>>>> Hello!
>>>>>>>> 
>>>>>>>> This is unusual, since you have set cassandraDataSource directly and bean/app context should not be checked when you do.
>>>>>>>> Are you sure that it is the only cassandra cache store factory that gets used in actual caches?
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> -- 
>>>>>>>> Ilya Kasnacheev
>>>>>>>> 
>>>>>>>> 
>>>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>>>> I am running an application written in Scala that is using Spark, Ignite, and persisting from writeThrough cache to Cassandra. From the Ignite base concepts code you are supposed to set the CacheStoreFactory as such:
>>>>>>>>> 
>>>>>>>>> <property name="cacheStoreFactory">
>>>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>>>     </bean>
>>>>>>>>> </property>
>>>>>>>>> Yet, when I run the application I get the error:
>>>>>>>>> 
>>>>>>>>> java.lang.IllegalStateException:
>>>>>>>>> Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>>>>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml are all written the same way as the examples explain on apacheignite Cassandra integration page. 
>>>>>>>>> 
>>>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:          
>>>>>>>>> 
>>>>>>>>> val cassandraDataSource = new DataSource
>>>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>>>> cassandraDataSource.setWriteConsistency("ONE")          
>>>>>>>>> 
>>>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>>> 
>>>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>>> 
>>>>>>>>> val igniteContext = new IgniteContext(sparkContext, config.igniteConfig, true) 
>>>>>>>>> val ignite = igniteContext.ignite() 
>>>>>>>>> 
>>>>>>>>> What am I missing or doing wrong that is causing this error? I have yet to find a simple, comprehensive example in Scala for doing this. 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
Yes it is defined on the server node.

Sent from my iPhone

> On Feb 13, 2019, at 06:50, Ilya Kasnacheev <il...@gmail.com> wrote:
> 
> Hello!
> 
> Is this cache also defined on server node? Only the first cache configuration is used to create it, and all other ones are thrown away (just the name is used).
> 
> Regards,
> -- 
> Ilya Kasnacheev
> 
> 
> вт, 12 февр. 2019 г. в 06:39, Max Barrios <sp...@gmail.com>:
>> Hi,
>> 
>> This is the code fragment from MyIgniteTest.scala:
>> 
>>       val cassandraDataSource = new DataSource
>>       cassandraDataSource.setContactPoints("10.0.0.1")
>>       val robinPolicy = new RoundRobinPolicy
>>       cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>       cassandraDataSource.setReadConsistency("ONE")
>>       cassandraDataSource.setWriteConsistency("ONE")
>> 
>>       // Read the persistence settings for Cassandra Key-Value persistance
>>       val persistenceSettings = new KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")
>> 
>>       // Define Cassandra cache store factory, set the cassandra dataSource and persistence settings
>>       val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>       cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>       cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>> 
>>       // Define the cache configuration, set the cassandraCacheStoreFactory as cacheStoreFactory , enable write through, write behind and read through
>>       val cassandraConfiguration = new CacheConfiguration
>>       cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)
>> 
>>       // Sets the cache configuration
>>       val cfg =  new IgniteConfiguration
>>       cfg.setCacheConfiguration(cassandraConfiguration)
>> 
>>       // Starting Ignite.
>>       Ignition.setClientMode(true)
>>       val ignite = Ignition.start(cfg)
>> 
>> Thanks,
>> 
>> Max
>> 
>>> On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com> wrote:
>>> Hello!
>>> 
>>> How do you pass CassandraCacheStoreFactory to your cache configuration?
>>> 
>>> I can see XML fragment and code fragment in your first message, which one are you using? In your code fragment there's no call of cache configuration setter.
>>> 
>>> Regards,
>>> -- 
>>> Ilya Kasnacheev
>>> 
>>> 
>>> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>>>> Hi, 
>>>> 
>>>> Stack trace is below:
>>>> 
>>>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>>>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>>>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     ... 3 more
>>>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>>>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>>>> [error] >>> +---------------------------------------------------------------------------------+
>>>> [error] >>> Grid uptime: 00:00:02.620
>>>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>>>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     ... 5 more
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>>> name := "myignitetest"
>>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>>> [error]     ... 5 more
>>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>> Added com.google.common 1.6 dependancy
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>> 
>>>> Thanks!
>>>> 
>>>> Max
>>>> 
>>>>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>> Hello!
>>>>> 
>>>>> Can you provide stack trace of the exception?
>>>>> 
>>>>> Regards,
>>>>> -- 
>>>>> Ilya Kasnacheev
>>>>> 
>>>>> 
>>>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop. 
>>>>>> 
>>>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:
>>>>>>> As far as I know, yes. Where would/should I look to check? 
>>>>>>> 
>>>>>>> Also, do I need to copy the ignite cassandra libraries to my client to build that client? 
>>>>>>> 
>>>>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com> wrote:
>>>>>>>> Hello!
>>>>>>>> 
>>>>>>>> This is unusual, since you have set cassandraDataSource directly and bean/app context should not be checked when you do.
>>>>>>>> Are you sure that it is the only cassandra cache store factory that gets used in actual caches?
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> -- 
>>>>>>>> Ilya Kasnacheev
>>>>>>>> 
>>>>>>>> 
>>>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>>>> I am running an application written in Scala that is using Spark, Ignite, and persisting from writeThrough cache to Cassandra. From the Ignite base concepts code you are supposed to set the CacheStoreFactory as such:
>>>>>>>>> 
>>>>>>>>> <property name="cacheStoreFactory">
>>>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>>>     </bean>
>>>>>>>>> </property>
>>>>>>>>> Yet, when I run the application I get the error:
>>>>>>>>> 
>>>>>>>>> java.lang.IllegalStateException:
>>>>>>>>> Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>>>>>>>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml are all written the same way as the examples explain on apacheignite Cassandra integration page. 
>>>>>>>>> 
>>>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:          
>>>>>>>>> 
>>>>>>>>> val cassandraDataSource = new DataSource
>>>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>>>> cassandraDataSource.setWriteConsistency("ONE")         
>>>>>>>>> 
>>>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>>> 
>>>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>>> 
>>>>>>>>> val igniteContext = new IgniteContext(sparkContext, config.igniteConfig, true) 
>>>>>>>>> val ignite = igniteContext.ignite() 
>>>>>>>>> 
>>>>>>>>> What am I missing or doing wrong that is causing this error? I have yet to find a simple, comprehensive example in Scala for doing this. 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

Is this cache also defined on server node? Only the first cache
configuration is used to create it, and all other ones are thrown away
(just the name is used).

Regards,
-- 
Ilya Kasnacheev


вт, 12 февр. 2019 г. в 06:39, Max Barrios <sp...@gmail.com>:

> Hi,
>
> This is the code fragment from MyIgniteTest.scala:
>
>       val cassandraDataSource = new DataSource
>       cassandraDataSource.setContactPoints("10.0.0.1")
>       val robinPolicy = new RoundRobinPolicy
>       cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>       cassandraDataSource.setReadConsistency("ONE")
>       cassandraDataSource.setWriteConsistency("ONE")
>
>       // Read the persistence settings for Cassandra Key-Value persistance
>       val persistenceSettings = new KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")
>
>       // Define Cassandra cache store factory, set the cassandra dataSource and persistence settings
>       val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>       cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>       cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>
>       // Define the cache configuration, set the cassandraCacheStoreFactory as cacheStoreFactory , enable write through, write behind and read through
>       val cassandraConfiguration = new CacheConfiguration
>       cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)
>
>       // Sets the cache configuration
>       val cfg =  new IgniteConfiguration
>       cfg.setCacheConfiguration(cassandraConfiguration)
>
>       // Starting Ignite.
>       Ignition.setClientMode(true)
>       val ignite = Ignition.start(cfg)
>
>
> Thanks,
>
> Max
>
> On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
>> Hello!
>>
>> How do you pass CassandraCacheStoreFactory to your cache configuration?
>>
>> I can see XML fragment and code fragment in your first message, which one
>> are you using? In your code fragment there's no call of cache configuration
>> setter.
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>>
>>> Hi,
>>>
>>> Stack trace is below:
>>>
>>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>> [error]     ... 3 more
>>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>>> [error] >>> +---------------------------------------------------------------------------------+
>>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>>> [error] >>> +---------------------------------------------------------------------------------+
>>> [error] >>> Grid uptime: 00:00:02.620
>>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>> [error]     ... 5 more
>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>>> [error]     at java.lang.Thread.run(Thread.java:748)
>>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>>> name := "myignitetest"
>>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>>> [error]     ... 5 more
>>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>>> Added com.google.common 1.6 dependancy
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>>
>>>
>>> Thanks!
>>>
>>> Max
>>>
>>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com>
>>> wrote:
>>>
>>>> Hello!
>>>>
>>>> Can you provide stack trace of the exception?
>>>>
>>>> Regards,
>>>> --
>>>> Ilya Kasnacheev
>>>>
>>>>
>>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>>
>>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5
>>>>> so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>>>>>
>>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> As far as I know, yes. Where would/should I look to check?
>>>>>>
>>>>>> Also, do I need to copy the ignite cassandra libraries to my client
>>>>>> to build that client?
>>>>>>
>>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <
>>>>>> ilya.kasnacheev@gmail.com> wrote:
>>>>>>
>>>>>>> Hello!
>>>>>>>
>>>>>>> This is unusual, since you have set cassandraDataSource directly
>>>>>>> and bean/app context should not be checked when you do.
>>>>>>> Are you sure that it is the only cassandra cache store factory that
>>>>>>> gets used in actual caches?
>>>>>>>
>>>>>>> Regards,
>>>>>>> --
>>>>>>> Ilya Kasnacheev
>>>>>>>
>>>>>>>
>>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>>
>>>>>>>> I am running an application written in Scala that is using Spark,
>>>>>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>>>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>>>>>> such:
>>>>>>>>
>>>>>>>> <property name="cacheStoreFactory">
>>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>>     </bean></property>
>>>>>>>>
>>>>>>>> Yet, when I run the application I get the error:
>>>>>>>>
>>>>>>>> java.lang.IllegalStateException:
>>>>>>>> Failed to get Cassandra DataSource cause Spring application context
>>>>>>>> wasn't injected into CassandraCacheStoreFactory
>>>>>>>>
>>>>>>>> All of the Ignite.xml, connection-settings.xml and
>>>>>>>> cassandra-store.xml are all written the same way as the examples explain on
>>>>>>>> apacheignite Cassandra integration page.
>>>>>>>>
>>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>>>>>
>>>>>>>>
>>>>>>>> val cassandraDataSource = new DataSource
>>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>>>>>
>>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>>
>>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>>
>>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>>
>>>>>>>> val igniteContext = new IgniteContext(sparkContext,
>>>>>>>> config.igniteConfig, true)
>>>>>>>> val ignite = igniteContext.ignite()
>>>>>>>>
>>>>>>>> What am I missing or doing wrong that is causing this error? I have
>>>>>>>> yet to find a simple, comprehensive example in Scala for doing this.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
Hi,

This is the code fragment from MyIgniteTest.scala:

      val cassandraDataSource = new DataSource
      cassandraDataSource.setContactPoints("10.0.0.1")
      val robinPolicy = new RoundRobinPolicy
      cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
      cassandraDataSource.setReadConsistency("ONE")
      cassandraDataSource.setWriteConsistency("ONE")

      // Read the persistence settings for Cassandra Key-Value persistance
      val persistenceSettings = new
KeyValuePersistenceSettings("./src/main/resources/default-cassandra-store.xml")

      // Define Cassandra cache store factory, set the cassandra
dataSource and persistence settings
      val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
      cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
      cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)

      // Define the cache configuration, set the
cassandraCacheStoreFactory as cacheStoreFactory , enable write
through, write behind and read through
      val cassandraConfiguration = new CacheConfiguration
      cassandraConfiguration.setCacheStoreFactory(cassandraCacheStoreFactory)

      // Sets the cache configuration
      val cfg =  new IgniteConfiguration
      cfg.setCacheConfiguration(cassandraConfiguration)

      // Starting Ignite.
      Ignition.setClientMode(true)
      val ignite = Ignition.start(cfg)


Thanks,

Max

On Mon, 11 Feb 2019 at 07:58, Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> How do you pass CassandraCacheStoreFactory to your cache configuration?
>
> I can see XML fragment and code fragment in your first message, which one
> are you using? In your code fragment there's no call of cache configuration
> setter.
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:
>
>> Hi,
>>
>> Stack trace is below:
>>
>> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
>> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>> [error]     at java.lang.Thread.run(Thread.java:748)
>> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
>> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>> [error]     at java.lang.Thread.run(Thread.java:748)
>> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
>> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>> [error]     at java.lang.Thread.run(Thread.java:748)
>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>> [error]     ... 3 more
>> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
>> [error] 19/02/07 22:17:14 INFO IgniteKernal:
>> [error] >>> +---------------------------------------------------------------------------------+
>> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
>> [error] >>> +---------------------------------------------------------------------------------+
>> [error] >>> Grid uptime: 00:00:02.620
>> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
>> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>> [error]     ... 5 more
>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
>> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
>> [error]     at java.lang.Thread.run(Thread.java:748)
>> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
>> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
>> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
>> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
>> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
>> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
>> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
>> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
>> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
>> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
>> name := "myignitetest"
>> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
>> [error]     ... 5 more
>> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
>> Added com.google.common 1.6 dependancy
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
>> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
>> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
>> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>>
>>
>> Thanks!
>>
>> Max
>>
>> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com>
>> wrote:
>>
>>> Hello!
>>>
>>> Can you provide stack trace of the exception?
>>>
>>> Regards,
>>> --
>>> Ilya Kasnacheev
>>>
>>>
>>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>>
>>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5
>>>> so upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>>>>
>>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com>
>>>> wrote:
>>>>
>>>>> As far as I know, yes. Where would/should I look to check?
>>>>>
>>>>> Also, do I need to copy the ignite cassandra libraries to my client
>>>>> to build that client?
>>>>>
>>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <
>>>>> ilya.kasnacheev@gmail.com> wrote:
>>>>>
>>>>>> Hello!
>>>>>>
>>>>>> This is unusual, since you have set cassandraDataSource directly and
>>>>>> bean/app context should not be checked when you do.
>>>>>> Are you sure that it is the only cassandra cache store factory that
>>>>>> gets used in actual caches?
>>>>>>
>>>>>> Regards,
>>>>>> --
>>>>>> Ilya Kasnacheev
>>>>>>
>>>>>>
>>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>>
>>>>>>> I am running an application written in Scala that is using Spark,
>>>>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>>>>> such:
>>>>>>>
>>>>>>> <property name="cacheStoreFactory">
>>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>>     </bean></property>
>>>>>>>
>>>>>>> Yet, when I run the application I get the error:
>>>>>>>
>>>>>>> java.lang.IllegalStateException:
>>>>>>> Failed to get Cassandra DataSource cause Spring application context
>>>>>>> wasn't injected into CassandraCacheStoreFactory
>>>>>>>
>>>>>>> All of the Ignite.xml, connection-settings.xml and
>>>>>>> cassandra-store.xml are all written the same way as the examples explain on
>>>>>>> apacheignite Cassandra integration page.
>>>>>>>
>>>>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>>>>
>>>>>>>
>>>>>>> val cassandraDataSource = new DataSource
>>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>>>>
>>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>>>
>>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>>
>>>>>>> And I am starting the Ignite code as follows:
>>>>>>>
>>>>>>> val igniteContext = new IgniteContext(sparkContext,
>>>>>>> config.igniteConfig, true)
>>>>>>> val ignite = igniteContext.ignite()
>>>>>>>
>>>>>>> What am I missing or doing wrong that is causing this error? I have
>>>>>>> yet to find a simple, comprehensive example in Scala for doing this.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

How do you pass CassandraCacheStoreFactory to your cache configuration?

I can see XML fragment and code fragment in your first message, which one
are you using? In your code fragment there's no call of cache configuration
setter.

Regards,
-- 
Ilya Kasnacheev


пт, 8 февр. 2019 г. в 23:01, Max Barrios <sp...@gmail.com>:

> Hi,
>
> Stack trace is below:
>
> [error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture: Failed to reinitialize local partitions (preloading will be stopped): GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED]
> [error] java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [error]     at java.lang.Thread.run(Thread.java:748)
> [error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish exchange future [startVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], resVer=null, err=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory]
> [error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while starting (will rollback startup routine).
> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [error]     at java.lang.Thread.run(Thread.java:748)
> [error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager: Failed to wait for completion of partition map exchange (preloading will not start): GridDhtPartitionsExchangeFuture [firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500, ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1, lastExchangeTime=1549577833932, loc=false, ver=2.6.0#20180710-sha1:669feacc, isClient=false], exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10, intOrder=0, lastExchangeTime=1549577833007, loc=true, ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10, nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993], nodeId=0a3b5352, evt=NODE_JOINED], added=true, initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=false, hash=786357198], init=false, lastVer=null, partReleaseFut=null, exchActions=null, affChangeMsg=null, initTs=1549577834024, centralizedAff=false, forceAffReassignment=false, changeGlobalStateE=null, done=true, state=CLIENT, evtLatch=0, remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858, 38b9e6a1-131d-43c9-aac2-60d129faa9bd, e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter [ignoreInterrupts=false, state=DONE, res=java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory, hash=21748544]]
> [error] class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [error]     at java.lang.Thread.run(Thread.java:748)
> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
> [error]     ... 3 more
> [error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache [cacheName=ignite-sys-cache]
> [error] 19/02/07 22:17:14 INFO IgniteKernal:
> [error] >>> +---------------------------------------------------------------------------------+
> [error] >>> Ignite ver. 2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped OK
> [error] >>> +---------------------------------------------------------------------------------+
> [error] >>> Grid uptime: 00:00:02.620
> [error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
> [error] class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
> [error]     ... 5 more
> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
> [error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
> [error]     at java.lang.Thread.run(Thread.java:748)
> [error] Exception in thread "main" class org.apache.ignite.IgniteException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
> [error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
> [error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
> [error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
> [error]     at MyIgniteTest.main(MyIgniteTest.scala)
> [error] Caused by: class org.apache.ignite.IgniteCheckedException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> [error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
> [error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
> [error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
> [error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
> [error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
> [error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
> [error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
> name := "myignitetest"
> [error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
> [error]     ... 5 more
> [error] Caused by: java.lang.IllegalStateException: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory
> Added com.google.common 1.6 dependancy
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
> [error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
> [error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
> [error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
>
>
> Thanks!
>
> Max
>
> On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
>> Hello!
>>
>> Can you provide stack trace of the exception?
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>>
>>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so
>>> upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>>>
>>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:
>>>
>>>> As far as I know, yes. Where would/should I look to check?
>>>>
>>>> Also, do I need to copy the ignite cassandra libraries to my client to
>>>> build that client?
>>>>
>>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hello!
>>>>>
>>>>> This is unusual, since you have set cassandraDataSource directly and
>>>>> bean/app context should not be checked when you do.
>>>>> Are you sure that it is the only cassandra cache store factory that
>>>>> gets used in actual caches?
>>>>>
>>>>> Regards,
>>>>> --
>>>>> Ilya Kasnacheev
>>>>>
>>>>>
>>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>>
>>>>>> I am running an application written in Scala that is using Spark,
>>>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>>>> such:
>>>>>>
>>>>>> <property name="cacheStoreFactory">
>>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>>     </bean></property>
>>>>>>
>>>>>> Yet, when I run the application I get the error:
>>>>>>
>>>>>> java.lang.IllegalStateException:
>>>>>> Failed to get Cassandra DataSource cause Spring application context
>>>>>> wasn't injected into CassandraCacheStoreFactory
>>>>>>
>>>>>> All of the Ignite.xml, connection-settings.xml and
>>>>>> cassandra-store.xml are all written the same way as the examples explain on
>>>>>> apacheignite Cassandra integration page.
>>>>>>
>>>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>>>
>>>>>>
>>>>>> val cassandraDataSource = new DataSource
>>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>>> val robinPolicy = new RoundRobinPolicy
>>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>>>
>>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>>
>>>>>> And I am starting the Ignite code as follows:
>>>>>>
>>>>>> val igniteContext = new IgniteContext(sparkContext,
>>>>>> config.igniteConfig, true)
>>>>>> val ignite = igniteContext.ignite()
>>>>>>
>>>>>> What am I missing or doing wrong that is causing this error? I have
>>>>>> yet to find a simple, comprehensive example in Scala for doing this.
>>>>>>
>>>>>>
>>>>>>
>>>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
Hi,

Stack trace is below:

[error] 19/02/07 22:17:14 ERROR GridDhtPartitionsExchangeFuture:
Failed to reinitialize local partitions (preloading will be stopped):
GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=10,
minorTopVer=0], discoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode
[id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo,
10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0,
/0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10,
intOrder=0, lastExchangeTime=1549577833007, loc=true,
ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10,
nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993],
nodeId=0a3b5352, evt=NODE_JOINED]
[error] java.lang.IllegalStateException: Failed to get Cassandra
DataSource cause Spring application context wasn't injected into
CassandraCacheStoreFactory
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
[error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] 19/02/07 22:17:14 INFO GridDhtPartitionsExchangeFuture: Finish
exchange future [startVer=AffinityTopologyVersion [topVer=10,
minorTopVer=0], resVer=null, err=java.lang.IllegalStateException:
Failed to get Cassandra DataSource cause Spring application context
wasn't injected into CassandraCacheStoreFactory]
[error] 19/02/07 22:17:14 ERROR IgniteKernal: Got exception while
starting (will rollback startup routine).
[error] class org.apache.ignite.IgniteCheckedException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
[error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
[error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
[error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
[error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
[error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
[error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
[error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
[error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
[error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
[error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
[error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
[error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
[error]     at MyIgniteTest.main(MyIgniteTest.scala)
[error] Caused by: java.lang.IllegalStateException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
[error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] 19/02/07 22:17:14 ERROR GridCachePartitionExchangeManager:
Failed to wait for completion of partition map exchange (preloading
will not start): GridDhtPartitionsExchangeFuture
[firstDiscoEvt=DiscoveryEvent [evtNode=TcpDiscoveryNode
[id=0a3b5352-592c-450c-912c-7fe401cc4415, addrs=[0:0:0:0:0:0:0:1%lo,
10.0.0.1, 127.0.0.1], sockAddrs=[ignite-node-01/10.0.0.1:0,
/0:0:0:0:0:0:0:1%lo:0, /127.0.0.1:0], discPort=0, order=10,
intOrder=0, lastExchangeTime=1549577833007, loc=true,
ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10,
nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993],
crd=TcpDiscoveryNode [id=56340b23-60c1-4d7d-a19e-fb51066b4858,
addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1],
sockAddrs=[/0:0:0:0:0:0:0:1%lo:47500, /127.0.0.1:47500,
ignite-node-01/10.0.0.1:47500], discPort=47500, order=1, intOrder=1,
lastExchangeTime=1549577833932, loc=false,
ver=2.6.0#20180710-sha1:669feacc, isClient=false],
exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion
[topVer=10, minorTopVer=0], discoEvt=DiscoveryEvent
[evtNode=TcpDiscoveryNode [id=0a3b5352-592c-450c-912c-7fe401cc4415,
addrs=[0:0:0:0:0:0:0:1%lo, 10.0.0.1, 127.0.0.1],
sockAddrs=[ignite-node-01/10.0.0.1:0, /0:0:0:0:0:0:0:1%lo:0,
/127.0.0.1:0], discPort=0, order=10, intOrder=0,
lastExchangeTime=1549577833007, loc=true,
ver=2.6.0#20180710-sha1:669feacc, isClient=true], topVer=10,
nodeId8=0a3b5352, msg=null, type=NODE_JOINED, tstamp=1549577833993],
nodeId=0a3b5352, evt=NODE_JOINED], added=true,
initFut=GridFutureAdapter [ignoreInterrupts=false, state=DONE,
res=false, hash=786357198], init=false, lastVer=null,
partReleaseFut=null, exchActions=null, affChangeMsg=null,
initTs=1549577834024, centralizedAff=false,
forceAffReassignment=false, changeGlobalStateE=null, done=true,
state=CLIENT, evtLatch=0,
remaining=[56340b23-60c1-4d7d-a19e-fb51066b4858,
38b9e6a1-131d-43c9-aac2-60d129faa9bd,
e9f79e0b-00eb-4752-afc5-be91185d56c4], super=GridFutureAdapter
[ignoreInterrupts=false, state=DONE,
res=java.lang.IllegalStateException: Failed to get Cassandra
DataSource cause Spring application context wasn't injected into
CassandraCacheStoreFactory, hash=21748544]]
[error] class org.apache.ignite.IgniteCheckedException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
[error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:207)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2433)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
[error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] Caused by: java.lang.IllegalStateException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
[error]     ... 3 more
[error] 19/02/07 22:17:14 INFO GridCacheProcessor: Stopped cache
[cacheName=ignite-sys-cache]
[error] 19/02/07 22:17:14 INFO IgniteKernal:
[error] >>> +---------------------------------------------------------------------------------+
[error] >>> Ignite ver.
2.6.0#20180710-sha1:669feacc5d3a4e60efcdd300dc8de99780f38eed stopped
OK
[error] >>> +---------------------------------------------------------------------------------+
[error] >>> Grid uptime: 00:00:02.620
[error] 19/02/07 22:17:14 ERROR IgniteContext: Failed to start Ignite.
[error] class org.apache.ignite.IgniteException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
[error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
[error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
[error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
[error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
[error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
[error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
[error]     at MyIgniteTest.main(MyIgniteTest.scala)
[error] Caused by: class org.apache.ignite.IgniteCheckedException:
Failed to get Cassandra DataSource cause Spring application context
wasn't injected into CassandraCacheStoreFactory
[error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
[error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
[error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
[error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
[error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
[error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
[error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
[error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
[error]     ... 5 more
[error] Caused by: java.lang.IllegalStateException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:674)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2419)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2299)
[error]     at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110)
[error]     at java.lang.Thread.run(Thread.java:748)
[error] Exception in thread "main" class
org.apache.ignite.IgniteException: Failed to get Cassandra DataSource
cause Spring application context wasn't injected into
CassandraCacheStoreFactory
[error]     at org.apache.ignite.internal.util.IgniteUtils.convertException(IgniteUtils.java:990)
[error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:422)
[error]     at org.apache.ignite.spark.IgniteContext.ignite(IgniteContext.scala:150)
[error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:63)
[error]     at org.apache.ignite.spark.IgniteContext.<init>(IgniteContext.scala:86)
[error]     at MyIgniteTest$.main(MyIgniteTest.scala:160)
[error]     at MyIgniteTest.main(MyIgniteTest.scala)
[error] Caused by: class org.apache.ignite.IgniteCheckedException:
Failed to get Cassandra DataSource cause Spring application context
wasn't injected into CassandraCacheStoreFactory
[error]     at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7307)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159)
[error]     at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151)
[error]     at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:635)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:875)
[error]     at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1086)
[error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:2014)
[error]     at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1723)
[error]     at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1151)
[error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:671)
[error]     at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:611)
name := "myignitetest"
[error]     at org.apache.ignite.Ignition.getOrStart(Ignition.java:419)
[error]     ... 5 more
[error] Caused by: java.lang.IllegalStateException: Failed to get
Cassandra DataSource cause Spring application context wasn't injected
into CassandraCacheStoreFactory
Added com.google.common 1.6 dependancy
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.getDataSource(CassandraCacheStoreFactory.java:124)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:59)
[error]     at org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory.create(CassandraCacheStoreFactory.java:34)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.createCache(GridCacheProcessor.java:1437)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1945)
[error]     at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1830)
[error]     at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:792)


Thanks!

Max

On Fri, 8 Feb 2019 at 01:26, Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> Can you provide stack trace of the exception?
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:
>
>> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so
>> upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>>
>> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:
>>
>>> As far as I know, yes. Where would/should I look to check?
>>>
>>> Also, do I need to copy the ignite cassandra libraries to my client to
>>> build that client?
>>>
>>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com>
>>> wrote:
>>>
>>>> Hello!
>>>>
>>>> This is unusual, since you have set cassandraDataSource directly and
>>>> bean/app context should not be checked when you do.
>>>> Are you sure that it is the only cassandra cache store factory that
>>>> gets used in actual caches?
>>>>
>>>> Regards,
>>>> --
>>>> Ilya Kasnacheev
>>>>
>>>>
>>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>>
>>>>> I am running an application written in Scala that is using Spark,
>>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>>> such:
>>>>>
>>>>> <property name="cacheStoreFactory">
>>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>>     </bean></property>
>>>>>
>>>>> Yet, when I run the application I get the error:
>>>>>
>>>>> java.lang.IllegalStateException:
>>>>> Failed to get Cassandra DataSource cause Spring application context
>>>>> wasn't injected into CassandraCacheStoreFactory
>>>>>
>>>>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml
>>>>> are all written the same way as the examples explain on apacheignite
>>>>> Cassandra integration page.
>>>>>
>>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>>
>>>>> val cassandraDataSource = new DataSource
>>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>>> val robinPolicy = new RoundRobinPolicy
>>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>>> cassandraDataSource.setReadConsistency("ONE")
>>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>>
>>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>>
>>>>> And I am starting the Ignite code as follows:
>>>>>
>>>>> val igniteContext = new IgniteContext(sparkContext,
>>>>> config.igniteConfig, true)
>>>>> val ignite = igniteContext.ignite()
>>>>>
>>>>> What am I missing or doing wrong that is causing this error? I have
>>>>> yet to find a simple, comprehensive example in Scala for doing this.
>>>>>
>>>>>
>>>>>
>>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

Can you provide stack trace of the exception?

Regards,
-- 
Ilya Kasnacheev


пт, 8 февр. 2019 г. в 01:33, Max Barrios <sp...@gmail.com>:

> FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so
> upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.
>
> On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:
>
>> As far as I know, yes. Where would/should I look to check?
>>
>> Also, do I need to copy the ignite cassandra libraries to my client to
>> build that client?
>>
>> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com>
>> wrote:
>>
>>> Hello!
>>>
>>> This is unusual, since you have set cassandraDataSource directly and
>>> bean/app context should not be checked when you do.
>>> Are you sure that it is the only cassandra cache store factory that gets
>>> used in actual caches?
>>>
>>> Regards,
>>> --
>>> Ilya Kasnacheev
>>>
>>>
>>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>>
>>>> I am running an application written in Scala that is using Spark,
>>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>>> such:
>>>>
>>>> <property name="cacheStoreFactory">
>>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>>     </bean></property>
>>>>
>>>> Yet, when I run the application I get the error:
>>>>
>>>> java.lang.IllegalStateException:
>>>> Failed to get Cassandra DataSource cause Spring application context
>>>> wasn't injected into CassandraCacheStoreFactory
>>>>
>>>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml
>>>> are all written the same way as the examples explain on apacheignite
>>>> Cassandra integration page.
>>>>
>>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>>
>>>> val cassandraDataSource = new DataSource
>>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>>> val robinPolicy = new RoundRobinPolicy
>>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>>> cassandraDataSource.setReadConsistency("ONE")
>>>> cassandraDataSource.setWriteConsistency("ONE")
>>>>
>>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>>
>>>> And I am starting the Ignite code as follows:
>>>>
>>>> val igniteContext = new IgniteContext(sparkContext,
>>>> config.igniteConfig, true)
>>>> val ignite = igniteContext.ignite()
>>>>
>>>> What am I missing or doing wrong that is causing this error? I have yet
>>>> to find a simple, comprehensive example in Scala for doing this.
>>>>
>>>>
>>>>
>>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
FYI I am using Ignite Fabric 2.6.0. We use Spark 2.3.2 / Hadoop 2.8.5 so
upgrading to Ignite 2.7.0 means upgrading Spark/Hadoop.

On Thu, 7 Feb 2019 at 11:58, Max Barrios <sp...@gmail.com> wrote:

> As far as I know, yes. Where would/should I look to check?
>
> Also, do I need to copy the ignite cassandra libraries to my client to
> build that client?
>
> On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com>
> wrote:
>
>> Hello!
>>
>> This is unusual, since you have set cassandraDataSource directly and
>> bean/app context should not be checked when you do.
>> Are you sure that it is the only cassandra cache store factory that gets
>> used in actual caches?
>>
>> Regards,
>> --
>> Ilya Kasnacheev
>>
>>
>> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>>
>>> I am running an application written in Scala that is using Spark,
>>> Ignite, and persisting from writeThrough cache to Cassandra. From the
>>> Ignite base concepts code you are supposed to set the CacheStoreFactory as
>>> such:
>>>
>>> <property name="cacheStoreFactory">
>>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>>     </bean></property>
>>>
>>> Yet, when I run the application I get the error:
>>>
>>> java.lang.IllegalStateException:
>>> Failed to get Cassandra DataSource cause Spring application context
>>> wasn't injected into CassandraCacheStoreFactory
>>>
>>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml
>>> are all written the same way as the examples explain on apacheignite
>>> Cassandra integration page.
>>>
>>> I am initializing the CassandraCacheStoreFactory as follows:
>>>
>>> val cassandraDataSource = new DataSource
>>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>>> val robinPolicy = new RoundRobinPolicy
>>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>>> cassandraDataSource.setReadConsistency("ONE")
>>> cassandraDataSource.setWriteConsistency("ONE")
>>>
>>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>>
>>> And I am starting the Ignite code as follows:
>>>
>>> val igniteContext = new IgniteContext(sparkContext, config.igniteConfig,
>>> true)
>>> val ignite = igniteContext.ignite()
>>>
>>> What am I missing or doing wrong that is causing this error? I have yet
>>> to find a simple, comprehensive example in Scala for doing this.
>>>
>>>
>>>
>>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Max Barrios <sp...@gmail.com>.
As far as I know, yes. Where would/should I look to check?

Also, do I need to copy the ignite cassandra libraries to my client to
build that client?

On Thu, 7 Feb 2019 at 06:47, Ilya Kasnacheev <il...@gmail.com>
wrote:

> Hello!
>
> This is unusual, since you have set cassandraDataSource directly and
> bean/app context should not be checked when you do.
> Are you sure that it is the only cassandra cache store factory that gets
> used in actual caches?
>
> Regards,
> --
> Ilya Kasnacheev
>
>
> чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:
>
>> I am running an application written in Scala that is using Spark, Ignite,
>> and persisting from writeThrough cache to Cassandra. From the Ignite base
>> concepts code you are supposed to set the CacheStoreFactory as such:
>>
>> <property name="cacheStoreFactory">
>>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>>         <property name="dataSourceBean" value="cassandraDataSource"/>
>>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>>     </bean></property>
>>
>> Yet, when I run the application I get the error:
>>
>> java.lang.IllegalStateException:
>> Failed to get Cassandra DataSource cause Spring application context
>> wasn't injected into CassandraCacheStoreFactory
>>
>> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml
>> are all written the same way as the examples explain on apacheignite
>> Cassandra integration page.
>>
>> I am initializing the CassandraCacheStoreFactory as follows:
>>
>> val cassandraDataSource = new DataSource
>> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
>> val robinPolicy = new RoundRobinPolicy
>> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
>> cassandraDataSource.setReadConsistency("ONE")
>> cassandraDataSource.setWriteConsistency("ONE")
>>
>> val CONFIG = "src/main/resources/default-cassandra-store.xml"
>> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
>> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
>> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
>> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>>
>> And I am starting the Ignite code as follows:
>>
>> val igniteContext = new IgniteContext(sparkContext, config.igniteConfig,
>> true)
>> val ignite = igniteContext.ignite()
>>
>> What am I missing or doing wrong that is causing this error? I have yet
>> to find a simple, comprehensive example in Scala for doing this.
>>
>>
>>
>>

Re: Failed to get Cassandra DataSource cause Spring application context wasn't injected into CassandraCacheStoreFactory

Posted by Ilya Kasnacheev <il...@gmail.com>.
Hello!

This is unusual, since you have set cassandraDataSource directly and
bean/app context should not be checked when you do.
Are you sure that it is the only cassandra cache store factory that gets
used in actual caches?

Regards,
-- 
Ilya Kasnacheev


чт, 7 февр. 2019 г. в 05:59, Max Barrios <sp...@gmail.com>:

> I am running an application written in Scala that is using Spark, Ignite,
> and persisting from writeThrough cache to Cassandra. From the Ignite base
> concepts code you are supposed to set the CacheStoreFactory as such:
>
> <property name="cacheStoreFactory">
>     <bean class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>         <!-- Datasource configuration bean which is responsible for Cassandra connection details -->
>         <property name="dataSourceBean" value="cassandraDataSource"/>
>         <!-- Persistent settings bean which is responsible for the details of how objects will be persisted to Cassandra -->
>         <property name="persistenceSettingsBean" value="cache1_persistence_settings"/>
>     </bean></property>
>
> Yet, when I run the application I get the error:
>
> java.lang.IllegalStateException:
> Failed to get Cassandra DataSource cause Spring application context wasn't
> injected into CassandraCacheStoreFactory
>
> All of the Ignite.xml, connection-settings.xml and cassandra-store.xml are
> all written the same way as the examples explain on apacheignite Cassandra
> integration page.
>
> I am initializing the CassandraCacheStoreFactory as follows:
>
> val cassandraDataSource = new DataSource
> cassandraDataSource.setContactPoints("prod-cassandra-db.ct.corp")
> val robinPolicy = new RoundRobinPolicy
> cassandraDataSource.setLoadBalancingPolicy(robinPolicy)
> cassandraDataSource.setReadConsistency("ONE")
> cassandraDataSource.setWriteConsistency("ONE")
>
> val CONFIG = "src/main/resources/default-cassandra-store.xml"
> val persistenceSettings = new KeyValuePersistenceSettings(CONFIG)
> val cassandraCacheStoreFactory = new CassandraCacheStoreFactory
> cassandraCacheStoreFactory.setDataSource(cassandraDataSource)
> cassandraCacheStoreFactory.setPersistenceSettings(persistenceSettings)
>
> And I am starting the Ignite code as follows:
>
> val igniteContext = new IgniteContext(sparkContext, config.igniteConfig,
> true)
> val ignite = igniteContext.ignite()
>
> What am I missing or doing wrong that is causing this error? I have yet to
> find a simple, comprehensive example in Scala for doing this.
>
>
>
>