clarification on how to start transactions only on servers

classic Classic list List threaded Threaded
2 messages Options
limabean limabean
Reply | Threaded
Open this post in threaded view
|

clarification on how to start transactions only on servers

I was reading this thread:
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-handles-persistence-in-client-node-for-transactional-cache-td3428.html#a3435

and found this confusing.  

This line in particular from the post above is confusing:
>> By default TRANSACTIONAL cache invokes store from the node where transaction is started.

My expectations prior to reading the above post is that each server node has its own copy of a CacheStore class registered with the data cache partition
(like this:
 cacheCfg.setCacheStoreFactory(FactoryBuilder.factoryOf(CacheJdbcPersonStore.class));
)

 and that each node calls a local instance of the CacheStore class to initiate storage of changed elements in a persistent store.  If Ignite doesn't work that way, why not, and how does one achieve the behavior where each node is handling persistence for its own partition of a cache ?

Thank you,



Vladislav Pyatkov Vladislav Pyatkov
Reply | Threaded
Open this post in threaded view
|

Re: clarification on how to start transactions only on servers

Hello,

Ignite  stores transaction data on one node using own CacheStore.
>>You can disable saves from client if you enable write-behind semantics.
How it is written in  the above thread.

Could you describe more detail what task you decide?

The first thing that comes to mind:
1) Distributed closures, which executes in specific node[1]
2) Create a service, which contains business logic[2]

On Tue, May 31, 2016 at 11:29 PM, limabean <[hidden email]> wrote:
I was reading this thread:
http://apache-ignite-users.70518.x6.nabble.com/CacheStore-handles-persistence-in-client-node-for-transactional-cache-td3428.html#a3435

and found this confusing.

This line in particular from the post above is confusing:
>> By default TRANSACTIONAL cache invokes store from the node where
>> transaction is started.

My expectations prior to reading the above post is that each server node has
its own copy of a CacheStore class registered with the data cache partition
(like this:

cacheCfg.setCacheStoreFactory(FactoryBuilder.factoryOf(CacheJdbcPersonStore.class));
)

 and that each node calls a local instance of the CacheStore class to
initiate storage of changed elements in a persistent store.  If Ignite
doesn't work that way, why not, and how does one achieve the behavior where
each node is handling persistence for its own partition of a cache ?

Thank you,







--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/clarification-on-how-to-start-transactions-only-on-servers-tp5348.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.