Hello!

I'm afraid that you may need to drop and recreate these caches to change
their configuration, including Cache Store config.

Regards,
-- 
Ilya Kasnacheev


пн, 28 сент. 2020 г. в 00:27, xmw45688 <xw...@procurant.com>:

> I'm able to use Cassandra Together with Ignite Persistence (see the example
> below) usingIgnite 2.8.1.  However I could not change to another keyspace
> which has the same tables as the keyspace initially configurfed in the
> ignite config file.  The data changes are still stored in the old keyspace
> instead of the new keyspace that are in ignite config file.  It's seem to
> me
> that the keyspace are cached in the Ignite native persistence layer.
>
> How do I change the keyspaces of Cassandra?
>
> The use case is that we use Ignite as cache initially with the data stored
> in Cassandra.  With the data increase, caching all data is impractical.  So
> we plan to flush the data into the disk when the memory reaches the
> limits.
> We still want to store the data into Cassandra at the same time.  How do we
> load the the existing data from Cassandra Store to Native Persistence store
> when switching from Ignite Cache + Cassandra Store to Ignite Cache +Ignite
> persistence + Cassandra Store?
> Here is what I did -
> 1) duplicated the existing tables (no data) into the another keyspace in
> Cassandra
> 2) read the data from the original keyspace with Cassndra driver. This
> loaded the data into
>   2.1) ignite cache and native persistence
>   2.2) store the data into the new Cassandra keyspace.  it's undesirable to
> the store the original data back to the original keyspace.
> 3) change the cassandra connection setting to switch to the original
> keyspace because Ignite Cache and Native Persistence layer have all data
> from the Cassandra.
>   3.1) switching to the original cassandra keyspace did not take any
> effect.
> The data changes were still stored into the new keyspace.
>
> Config files
> 1. cassandra-connection-settings.xml
> <beans xmlns="http://www.springframework.org/schema/beans";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xsi:schemaLocation="
>         http://www.springframework.org/schema/beans
>         http://www.springframework.org/schema/beans/spring-beans.xsd";>
>
>     <bean id="loadBalancingPolicy"
> class="com.datastax.driver.core.policies.TokenAwarePolicy">
>         <constructor-arg
> type="com.datastax.driver.core.policies.LoadBalancingPolicy">
>             <bean
> class="com.datastax.driver.core.policies.RoundRobinPolicy"/>
>         </constructor-arg>
>     </bean>
>         <bean id="reconnectionPolicy"
>
> class="com.datastax.driver.core.policies.ExponentialReconnectionPolicy">
>             <constructor-arg name="baseDelayMs" value="100" />
>             <constructor-arg name="maxDelayMs" value="6000000" />
>         </bean>
>
>         <bean id="retryPolicy"
>             class="com.datastax.driver.core.policies.DefaultRetryPolicy">
>         </bean>
>
>
>     <bean
> class="org.apache.ignite.cache.store.cassandra.datasource.DataSource"
> name="cassandra">
>         <property name="contactPoints" value="127.0.0.1:9042"/>
>         <property name="user" value="cassandra"/>
>         <property name="password" value="cassandra"/>
>         <property name="readConsistency" value="ONE"/>
>         <property name="writeConsistency" value="ONE"/>
>         <property name="loadBalancingPolicy" ref="loadBalancingPolicy"/>
>         <property name="reconnectionPolicy"  ref="reconnectionPolicy"/>
>         <property name="retryPolicy"         ref="retryPolicy"/>
>     </bean>
>
> </beans>
>
> 2. dim_store_key_persistence.xm
> <persistence keyspace="ignitetest" table="dim_store">
>     <keyPersistence class="com.procurant.model.IdKey" strategy="POJO">
>                 <partitionKey>
>             <field name="id" column="id" />
>         </partitionKey>
>     </keyPersistence>
>     <valuePersistence class="com.procurant.model.DimStore" strategy="POJO"
> >
>         <field name="id" column="id" />
>         <field name="name" column="name" />
>         <field name="zip" column="zip" />
>         <field name="addr" column="addr" />
>     </valuePersistence>
> </persistence>
>
> 3. ignite config
> <?xml version="1.0" encoding="UTF-8"?>
> <beans xmlns="http://www.springframework.org/schema/beans";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>        xsi:schemaLocation="http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd";>
>
>
>
>
>         <import resource="classpath:cassandra-connection-settings.xml" />
>
>         <import resource="classpath:ignite-discoverySpi-settings.xml" />
>
>
>     <bean id="dim_store_persistence_settings"
>
> class="org.apache.ignite.cache.store.cassandra.persistence.KeyValuePersistenceSettings">
>         <constructor-arg type="org.springframework.core.io.Resource"
> value="classpath:dim_store_key_persistence.xml" />
>     </bean>
>
>
>     <bean class="org.apache.ignite.configuration.IgniteConfiguration">
>
>                 <property name="igniteInstanceName" value="MyCluster"/>
>             <property name="peerClassLoadingEnabled" value="true"/>
>
>
>                 <property name="workDirectory"
> value="/c:/apache/data/home/work-cassandra"/>
>
>         <property name="dataStorageConfiguration">
>             <bean
> class="org.apache.ignite.configuration.DataStorageConfiguration">
>
>                 <property name="defaultDataRegionConfiguration">
>                     <bean
> class="org.apache.ignite.configuration.DataRegionConfiguration">
>                         <property name="name" value="Default_Region"/>
>                         <property name="initialSize" value="#{10L * 1024 *
> 1024}"/>
>
>                         <property name="maxSize" value="#{4L * 1024 * 1024
> *
> 1024}"/>
>
>
>                         <property name="persistenceEnabled" value="true"/>
>                     </bean>
>                 </property>
>
>                 <property name="storagePath"
> value="c:/apache/data/simple-cassandra/storage"/>
>                 <property name="walFlushFrequency" value="10000"/>
>                 <property name="walMode" value="LOG_ONLY"/>
>                 <property name="walPath"
> value="c:/apache/data/simple-cassandra/wal"/>
>                 <property name="walArchivePath"
> value="c:/apache/data/simple-cassandra/wal/archive"/>
>
>             </bean>
>         </property>
>
>         <property name="cacheConfiguration">
>             <list>
>
>
>                 <bean
> class="org.apache.ignite.configuration.CacheConfiguration">
>                     <property name="name" value="DimStore"/>
>                     <property name="cacheMode" value="REPLICATED"/>
>                     <property name="atomicityMode"
> value="TRANSACTIONAL"/>
>                     <property name="readThrough" value="true"/>
>                     <property name="writeThrough" value="true"/>
>
>                     <property name="sqlSchema" value="partition"/>
>                     <property name="indexedTypes">
>                         <list>
>                             <value
> type="java.lang.Class">com.procurant.model.IdKey</value>
>                             <value
> type="java.lang.Class">com.procurant.model.DimStore</value>
>                         </list>
>                     </property>
>
>                     <property name="cacheStoreFactory">
>                         <bean
> class="org.apache.ignite.cache.store.cassandra.CassandraCacheStoreFactory">
>                             <property name="dataSource" ref="cassandra"/>
>                             <property name="persistenceSettingsBean"
> value="dim_store_persistence_settings"></property>
>                         </bean>
>                     </property>
>
>                 </bean>
>
>             </list>
>         </property>
>
>         <property name="discoverySpi" >
>             <ref bean="tcpDiscoverySpi"/>
>                 </property>
>
>
>
>     </bean>
>
> </beans>
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to