ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Konstantin Dudkov <kdud...@ya.ru>
Subject Re: Persistence per memory policy configuration
Date Wed, 13 Sep 2017 12:31:27 GMT
Can we have separate MemoryPolycy for every CacheGroup? In that case we 
could auto generate MemoryPolycy based on CacheGroup settings and have a 
"cache level" persistence settings.

We can use some kind of MemoryPolicyTemplate to add default values and 
even re-use existing MemoryPolicy if all settings are the same.

> 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.goncharuk@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 <vozerov@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.goncharuk@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 <ptupitsyn@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 <
>>> vozerov@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.goncharuk@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
>>>>>>>


Mime
View raw message