Vyacheslav, I'm not aware of any successful CacheStore implementations like this, there are multiple non-trivial challenges that you're going to face. If you want to have a decentralized persistent storage, you should use native Ignite persistence feature.
CacheLocalStore annotation should be deprecated and removed in my view. -Val On Fri, Jan 5, 2018 at 10:57 AM, Vyacheslav Daradur <[email protected]> wrote: > Hi, Igniters! > > I still need your advice about the situation in the first post in this > thread. > > >> How to handle CacheLocalStore on clients node? > >> I see some ways: > >> 1) Ignite should validate this situation at cache creation on client > node > >> 2) CacheStoreFactory should throw some exception in case of creation > CacheLocalStore on client nodes > >> 3) CacheStoreFactory should create some stub of CacheLocalStore to do > nothing > > On Thu, Dec 28, 2017 at 3:12 PM, ALEKSEY KUZNETSOV > <[email protected]> wrote: > > CacheLocalStore annotation means CacheStore is not "global" database, but > > each node has its independent db. If CacheStore isn't annotated with > > CacheLocalStore, then you can observe situation when data is persisted by > > node, which is neither primary, nor backup for the key.(i.e. we have > > transactional cache with near disabled). > > > > ср, 27 дек. 2017 г. в 13:02, Vyacheslav Daradur <[email protected]>: > > > >> Hi, Igniters! > >> > >> I’m working on an implementation of 3rd party persistence solution. > >> > >> The solution is annotated by CacheLocalStore annotation. > >> > >> As far as I know, CacheLocalStore annotation means that server node > >> persists its own primary and backup partitions (please correct me if > >> I’m wrong). > >> > >> How about client nodes? It’s possible to define CacheStoreFactory in > >> CacheConfiguration which creates CacheStoreStore even on clients node. > >> > >> But as far as I can see ‘read-through’ and ‘write-through’ methods > >> aren’t called on clients nodes in case of using CacheLocalStore. It > >> may be a problem because of CacheLocalStore which may require the > >> creation of some temporary resources which are not needed on clients > >> nodes. > >> > >> How must this situation be handled? > >> I see some ways: > >> 1) Ignite should validate this situation at cache creation on client > node > >> 2) CacheStoreFactory should throw some exception in case of creation > >> CacheLocalStore on client nodes > >> 3) CacheStoreFactory should create some stub of CacheLocalStore to do > >> nothing > >> > >> Any thoughts? > >> > >> > >> -- > >> Best Regards, Vyacheslav D. > >> > > -- > > > > *Best Regards,* > > > > *Kuznetsov Aleksey* > > > > -- > Best Regards, Vyacheslav D. >
