Guys, Please, do not add Boolean (non-primitive) to configurations. It is really the pain to handle them in tools like WebConsole. Enum would be better.
I'm not insisting, but just a minor note. On Mon, Oct 2, 2017 at 10:30 PM, Alexey Goncharuk < alexey.goncha...@gmail.com> wrote: > Agree with Vladimir. If we are to implement this, we would either need to > have a Boolean (non-primitive) for persistenceEnabled on > DataRegionConfiguration, or introduce an enum for this field which is also > an overkill. On the other hand, one can assume that the defaults we are > talking about are actually inherited. To resolve this, I suggest to > introduce just another field defaultRegionConfiguration and get rid of > other defaults in DataStorageConfiguration. > > Thoughts? > > 2017-10-02 15:19 GMT+03:00 Ivan Rakov <ivan.glu...@gmail.com>: > > > Vladimir, > > > > I like your approach because it's easier to implement. > > > > However, user may be confused by setting *isDefaultPersistenceEnabled* > > flag and seeing that persistence is not enabled by default in custom > memory > > region. I'll add clarifying Javadoc at this place. > > > > Best Regards, > > Ivan Rakov > > > > > > On 02.10.2017 11:28, Vladimir Ozerov wrote: > > > >> Ivan, > >> > >> I do not think this is correct approach, because it will be hard to > >> explain, and you will have to use "Boolean" instead of "boolean" for > >> DataRegionConfiguration. I do not think we need default "persistence > >> enabled" for all regions. Instead, we should have "persistence enabled" > >> flag for default region only. It should not be propagated to custom > >> regions. > >> > >> On Mon, Oct 2, 2017 at 11:14 AM, Ivan Rakov <ivan.glu...@gmail.com> > >> wrote: > >> > >> Guys, I think I got the point now. > >>> > >>> Let's check the final design: > >>> > >>> *DataStorageConfiguration* will have *isDefaultPersistenceEnabled* > >>> property (default = false), which will be used for enabling persistence > >>> in > >>> default data region. > >>> *DataRegionConfiguration* will have *isPersistenceEnabled* property, > >>> which > >>> will be used for enabling persistence in corresponding data region. If > >>> value is not set, value of *DataStorageConfiguration::isD > >>> efaultPersistenceEnabled* > >>> will be used by default. > >>> > >>> Best Regards, > >>> Ivan Rakov > >>> > >>> > >>> > >>> On 02.10.2017 7:49, Dmitriy Setrakyan wrote: > >>> > >>> On Mon, Oct 2, 2017 at 7:46 AM, Denis Magda <dma...@apache.org> wrote: > >>>> > >>>> On Oct 1, 2017, at 4:41 AM, Ivan Rakov <ivan.glu...@gmail.com> wrote: > >>>> > >>>>> 1) You're right. I forgot to include the main flag in > >>>>>> > >>>>>> DataRegionConfiguration - *isPersistenceEnabled*. Persistence will > be > >>>>> enabled globally if at least one memory region has this flag set. > >>>>> > >>>>> I’m confused. Why the persistence should be enabled *globally* if the > >>>>> purpose is to have it set for a specific region? If it’s enabled for > >>>>> region > >>>>> A only, I don’t want to have it activated for region B. > >>>>> > >>>>> Yes, you are right. By default the persistence will be disabled > >>>>> globally. > >>>>> > >>>> But we should also give users a way to switch the default behavior > from > >>>> in-memory only (no-persistence) to persistence. > >>>> > >>>> > >>>> > > > -- Alexey Kuznetsov