Sounds good. But can we see a full example of such configuration? E.g. we have two caches, one in-memory, another persistent.
On Wed, Sep 13, 2017 at 10:54 AM, Alexey Goncharuk < alexey.goncha...@gmail.com> wrote: > I like the idea of having PersistentMemoryPolicy configuration class. > Vladimir, Yakov, any objections? > > 2017-09-13 3:05 GMT+03:00 Denis Magda <dma...@apache.org>: > > > I would go for PersistentMemoryPolicyConfiguration way if it will be > > expanded by storage related settings furthers. > > > > For instance, from the discussion on @user I see a raising demand for the > > storage maximum size. If it’s reached the data will be evicted from there > > too. Just as an example. > > > > — > > Denis > > > > > On Sep 12, 2017, at 2:01 PM, Dmitriy Setrakyan <dsetrak...@apache.org> > > wrote: > > > > > > To extend on the idea of 2 different policies for memory and > persistence, > > > can we have 2 completely different configuration classes? > > > > > > - MemoryPolicy > > > - PersistentMemoryPolicy (extends MemoryPolicy?) > > > > > > Every cache should be associated with either MemoryPolicy or > > > PersistentMemoryPolicy, but not both. By default, caches on startup are > > > associated with default MemoryPolicy. Users can always change it to > some > > > PersistentMemoryPolicy, if persistence needs to be enabled. > > > > > > If we agree on the above, do we really need a persistenceEnabled flag > at > > > all? > > > > > > D. > > > > > > On Tue, Sep 12, 2017 at 2:57 AM, Alexey Goncharuk < > > > alexey.goncha...@gmail.com> wrote: > > > > > >> We surely can, but: > > >> * we should then have two configuration settings for default memory > > policy > > >> size (one in-memory and one persisted) > > >> * a user still may configure multiple custom memory policies. In this > > >> case, the requirement to have this flag the same in a memory policy is > > >> still valid, so a user still can get exceptions. > > >> > > >> 2017-09-12 12:44 GMT+03:00 Vladimir Ozerov <voze...@gridgain.com>: > > >> > > >>> Alex, > > >>> > > >>> Can we have two default memory policies - one for in-memory and > another > > >> one > > >>> for persistence cases? > > >>> > > >>> On Tue, Sep 12, 2017 at 12:40 PM, Alexey Goncharuk < > > >>> alexey.goncha...@gmail.com> wrote: > > >>> > > >>>> This is possible, but then if two caches belong to the same memory > > >>> policy, > > >>>> they must be both either persistence-enabled or > persistence-disabled. > > >> We > > >>>> can add this validation, but I think this will lead to a greater > > >>> confusion > > >>>> for a user. > > >>>> > > >>>> 2017-09-12 12:34 GMT+03:00 Pavel Tupitsyn <ptupit...@apache.org>: > > >>>> > > >>>>> Agree with Vladimir. > > >>>>> > > >>>>> Currently we enable persistence cluster-wide by setting > > >>>>> IgniteConfiguration.persistentStoreConfiguration. > > >>>>> Ideally CacheConfiguration.persistenceEnabled should be the only > > >>>> setting I > > >>>>> need to set. > > >>>>> > > >>>>> Thanks, > > >>>>> Pavel > > >>>>> > > >>>>> On Tue, Sep 12, 2017 at 12:28 PM, Vladimir Ozerov < > > >>> voze...@gridgain.com> > > >>>>> wrote: > > >>>>> > > >>>>>> As a user I would definitely prefer to control persistence through > > >>> flag > > >>>>> on > > >>>>>> cache configuration. I do not even want to know what "memory > > >> policy" > > >>>> is. > > >>>>>> E.g. CacheConfiguration.persistenceEnabled. > > >>>>>> > > >>>>>> On Tue, Sep 12, 2017 at 12:24 PM, Alexey Goncharuk < > > >>>>>> alexey.goncha...@gmail.com> wrote: > > >>>>>> > > >>>>>>> Igniters, > > >>>>>>> > > >>>>>>> I am currently reviewing a change allowing to enable persistence > > >>> on a > > >>>>>>> per-memory-policy basis (thanks to K. Dudkov!) and have a > > >> question > > >>>>>>> regarding the changes in configuration. > > >>>>>>> > > >>>>>>> The suggested change is to add a flag "persistenceEnabled" > > >>> (defaults > > >>>> to > > >>>>>>> true) to the memory policy configuration. To keep configuration > > >>>>>>> compatibility, the logic is as follows: > > >>>>>>> > > >>>>>>> If PersistentStoreConfiguration is set, then only memory policies > > >>>> with > > >>>>>>> persistenceEnabled=true flag will be persisted, which is > > >> consistent > > >>>>> with > > >>>>>>> the current behavior. To disable persistence, persistenceEnabled > > >>> flag > > >>>>>>> should be explicitly set to false. > > >>>>>>> > > >>>>>>> If PersistentStoreConfiguration is not set, then all caches are > > >>>> stored > > >>>>>>> in-memory and persistenceEnabled is ignored. > > >>>>>>> > > >>>>>>> While personally, I like this change, I would like to check if > > >>> there > > >>>>> are > > >>>>>>> any thoughts or objections to this approach. > > >>>>>>> > > >>>>>>> -- > > >>>>>>> Thanks, > > >>>>>>> AG > > >>>>>>> > > >>>>>> > > >>>>> > > >>>> > > >>> > > >> > > > > >