Hi Igniters, sorry for late response. I didn't catch idea of renaming.
PersistentStoreConfiguration is intuitive, and MemoryPolicyConfiguration is
intuitive also.

If we rename these classes now, it will bring more questions to user list.
Users may be confused by old and new names and by trying to match it. More
issues can came from XML configs that users already have.

Can we postpone the renaming? I suggest to finish 'persistence per memory
policy' task without renaming, and create separate JIRA issue for creating
future decision?

вт, 26 сент. 2017 г. в 15:25, Alexey Goncharuk <alexey.goncha...@gmail.com>:

> I do not like DurableMemoryConfiguration, because it's quite confusing - we
> configure in-memory caches using DurableMemory class, which immediately
> suggests that everything will be persisted. I am not sure if this is a
> right wording choice for the documentation either. I would go with
> DataStoreConfiguration and DataRegionConfiguration.
>
> --AG
>
> 2017-09-26 2:22 GMT+03:00 Dmitriy Setrakyan <dsetrak...@apache.org>:
>
> > Given that we already have a notion of CacheStore which comes from JCache
> > spec, I think having other stores may get confusing. I like
> > DurableMemoryConfiguration.
> >
> > Other opinions?
> >
> > D.
> >
> > On Mon, Sep 25, 2017 at 12:24 PM, Vladimir Ozerov <voze...@gridgain.com>
> > wrote:
> >
> > > Dima, let's finalize the design first.
> > >
> > > As I understand, we are happy with idea to merge MemoryConfiguration
> > > and PersistentStoreConfiguration
> > > into something what I called DataConfiguration, and to rename
> > > MemoryPolicyConfiguration to DataRegionConfiguration.
> > >
> > > The only outstanding qurestion is whether DataConfiguration is a good
> > name.
> > > I am not very happy with it, so let's think of other alternatives.
> Quick
> > > ideas:
> > > 1) StoreConfiguration - looks perfect to me - short and
> self-describing,
> > > but clashes a bit with existing CacheStore
> > > 2) DataStoreConfiguration - same as p.1, but the word "data" is not
> > > necessary IMO
> > > 3) PageStoreConfiguration? GIves a hint to our page-based architecture.
> > > 4) DurableMemoryConfiguration - aligns well with our docs, but I do not
> > > like it - too long and misleading
> > >
> > > Any other ideas?
> > >
> > > I would prefer to have either [StoreConfiguration +
> > > StoreRegionConfiguration] or [PageStoreConfiguration and
> > > PageStoreRegionConfiguration]. Looks clean and simple.
> > >
> > > Vladimir.
> > >
> > >
> > > On Mon, Sep 25, 2017 at 3:49 PM, Dmitriy Setrakyan <
> > dsetrak...@apache.org>
> > > wrote:
> > >
> > > > Vladimir,
> > > >
> > > > Can you please add the configuration example in the ticket?
> > > >
> > > > D.
> > > >
> > > > On Mon, Sep 25, 2017 at 12:20 AM, Alexey Goncharuk <
> > > > alexey.goncha...@gmail.com> wrote:
> > > >
> > > > > Guys,
> > > > >
> > > > > I suggest we finalize the configuration changes in the original
> > ticket
> > > > > then: https://issues.apache.org/jira/browse/IGNITE-6030 and
> proceed
> > > with
> > > > > the changes.
> > > > >
> > > > > 2017-09-23 17:08 GMT+03:00 Dmitriy Setrakyan <
> dsetrak...@apache.org
> > >:
> > > > >
> > > > > > Can we specify what metrics will look like? I think we should not
> > > just
> > > > > > blindly merge them.
> > > > > >
> > > > > > On Fri, Sep 22, 2017 at 11:01 PM, Vladimir Ozerov <
> > > > voze...@gridgain.com>
> > > > > > wrote:
> > > > > >
> > > > > > > Denis,
> > > > > > >
> > > > > > > Makes sense. Thanks for catching it!
> > > > > > >
> > > > > > > On Sat, Sep 23, 2017 at 8:45 AM, Denis Magda <
> dma...@apache.org>
> > > > > wrote:
> > > > > > >
> > > > > > > > If we’re taking the consolidation path for Memory and
> > Persistence
> > > > > > > > configurations then it makes sense to merge MemoryMetrics [1]
> > and
> > > > > > > > PersistenceMetrics [2] plus their JMX beans.
> > > > > > > >
> > > > > > > > Agree?
> > > > > > > >
> > > > > > > > [1] https://ignite.apache.org/releases/latest/javadoc/org/
> > > > > > > > apache/ignite/MemoryMetrics.html <https://ignite.apache.org/
> > > > > > > > releases/latest/javadoc/org/apache/ignite/MemoryMetrics.html>
> > > > > > > > [2] https://ignite.apache.org/releases/latest/javadoc/org/
> > > > > > apache/ignite/
> > > > > > > > PersistenceMetrics.html
> > > > > > > >
> > > > > > > > —
> > > > > > > > Denis
> > > > > > > >
> > > > > > > > > On Sep 22, 2017, at 10:18 PM, Dmitriy Setrakyan <
> > > > > > dsetrak...@apache.org
> > > > > > > >
> > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > I like it.
> > > > > > > > >
> > > > > > > > > Alexey G, can you please chime in?
> > > > > > > > >
> > > > > > > > > D.
> > > > > > > > >
> > > > > > > > > On Fri, Sep 22, 2017 at 11:33 AM, Vladimir Ozerov <
> > > > > > > voze...@gridgain.com>
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > >> Guys,
> > > > > > > > >>
> > > > > > > > >> Here is my proposal:
> > > > > > > > >>
> > > > > > > > >> 1) MemoryPolicyConfiguration is renamed to
> > > > > > *DataRegionConfiguration*.
> > > > > > > > >> 2) PersistenceConfiguration is merged with
> > MemoryConfiguration
> > > > and
> > > > > > > > renamed
> > > > > > > > >> to ... *DataStorageConfiguration*! It has: common memory
> > > > settings
> > > > > > > (e.g.
> > > > > > > > >> default data region), persistence settings (e.g. WAL) and
> a
> > > list
> > > > > of
> > > > > > > > >> DataRegionConfiguration beans.
> > > > > > > > >>
> > > > > > > > >> What we have in the end:
> > > > > > > > >>
> > > > > > > > >> <property name="dataConfiguration">
> > > > > > > > >>    <bean class="o.a.i.DataConfiguration">
> > > > > > > > >>        <property name="pageSize" value="8192" />
> > > > > > > > >>        <property name="persistentStorePath"
> value="/my/path"
> > > />
> > > > > > > > >>        <property name="dataRegions">
> > > > > > > > >>            <list>
> > > > > > > > >>                <bean
> class="o.a.i.DataRegionConfiguration">
> > > > > > > > >>                    <property name="name" value="VOLATILE"
> />
> > > > > > > > >>                    <property name="maxSize"
> > > > value="1_000_000_000"
> > > > > />
> > > > > > > > >>                </bean>
> > > > > > > > >>                <bean
> class="o.a.i.DataRegionConfiguration">
> > > > > > > > >>                    <property name="name"
> value="PERSISTENT"
> > />
> > > > > > > > >>                    <property name="maxSize"
> > > > value="1_000_000_000"
> > > > > />
> > > > > > > > >>                    <property name="persistent"
> value="true"
> > />
> > > > > > > > >>                </bean>
> > > > > > > > >>            </list>
> > > > > > > > >>        </property>
> > > > > > > > >>    </bean>
> > > > > > > > >> </property>
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> Makes sense?
> > > > > > > > >>
> > > > > > > > >> Vladimir.
> > > > > > > > >>
> > > > > > > > >>
> > > > > > > > >> On Thu, Sep 21, 2017 at 7:04 AM, Dmitriy Setrakyan <
> > > > > > > > dsetrak...@apache.org>
> > > > > > > > >> wrote:
> > > > > > > > >>
> > > > > > > > >>> Firstly all, why not call it DataPolicy instead of
> > > > MemoryPolicy?
> > > > > > > > >> Secondly,
> > > > > > > > >>> why not set data policies directly on
> IgniteConfiguration.
> > > And
> > > > > > > lastly,
> > > > > > > > >> how
> > > > > > > > >>> about we combine memory and disk properties in one bean
> > with
> > > > > clear
> > > > > > > > naming
> > > > > > > > >>> convention?
> > > > > > > > >>>
> > > > > > > > >>> Here is the example. Note that all properties above must
> > > start
> > > > > with
> > > > > > > > with
> > > > > > > > >>> "Memory" or "Disk".
> > > > > > > > >>>
> > > > > > > > >>> *IgniteConfiguration cfg = new IgniteConfiguration();*
> > > > > > > > >>>
> > > > > > > > >>>
> > > > > > > > >>>
> > > > > > > > >>>
> > > > > > > > >>>>
> > > > > > > > >>>>
> > > > > > > > >>>>
> > > > > > > > >>>>
> > > > > > > > >>>> *cfg.setDataPolicies(    new DataPolicyConfiguration()
> > > > > > > > >>>> .setName("bla"),        .setMemoryMaxSize(1024), // must
> > be
> > > > > > greater
> > > > > > > > >> than
> > > > > > > > >>> 0,
> > > > > > > > >>>> since memory always needs to be enabled.
> > > > > > .setDiskMaxSize(0),
> > > > > > > //
> > > > > > > > >> if
> > > > > > > > >>>> greater than 0, then persistence is enabled.    );*
> > > > > > > > >>>
> > > > > > > > >>>
> > > > > > > > >>>
> > > > > > > > >>> I think this approach is much more concise and straight
> > > > forward.
> > > > > > What
> > > > > > > > do
> > > > > > > > >>> you think?
> > > > > > > > >>>
> > > > > > > > >>> D.
> > > > > > > > >>>
> > > > > > > > >>> On Wed, Sep 20, 2017 at 4:55 AM, Vladimir Ozerov <
> > > > > > > voze...@gridgain.com
> > > > > > > > >
> > > > > > > > >>> wrote:
> > > > > > > > >>>
> > > > > > > > >>>> I prefer the second. Composition over inheritance - this
> > is
> > > > how
> > > > > > all
> > > > > > > > our
> > > > > > > > >>>> configuration is crafted.
> > > > > > > > >>>>
> > > > > > > > >>>> E.g. we do not have "CacheConfiguration" and "
> > > > > > > > >>>> StoreEnabledCacheConfiguration".
> > > > > > > > >>>> Instead, we have "CacheConfiguration.
> > setCacheStoreFactory".
> > > > > > > > >>>>
> > > > > > > > >>>> On Wed, Sep 20, 2017 at 2:46 PM, Alexey Goncharuk <
> > > > > > > > >>>> alexey.goncha...@gmail.com> wrote:
> > > > > > > > >>>>
> > > > > > > > >>>>> Reiterating this based on some feedback from PDS users.
> > > > > > > > >>>>>
> > > > > > > > >>>>> It might be confusing to configure persistence with
> > > > > > "MemoryPolicy",
> > > > > > > > >> so
> > > > > > > > >>>>> another approach is to deprecate the old names and
> > > introduce
> > > > a
> > > > > > new
> > > > > > > > >> name
> > > > > > > > >>>>> "DataRegion" because it reflects the actual state when
> > data
> > > > is
> > > > > > > stored
> > > > > > > > >>> on
> > > > > > > > >>>>> disk and partially in memory. I have two options in
> mind,
> > > > each
> > > > > of
> > > > > > > > >> them
> > > > > > > > >>>>> looks acceptable to me, so I would like to have some
> > > feedback
> > > > > > from
> > > > > > > > >> the
> > > > > > > > >>>>> community. Old configuration names will be deprecated
> > (but
> > > > > still
> > > > > > be
> > > > > > > > >>> taken
> > > > > > > > >>>>> if used for backward compatibility). Note, that old
> names
> > > > > > > deprecation
> > > > > > > > >>>>> handles default configuration compatibility very
> nicely -
> > > > > current
> > > > > > > PDS
> > > > > > > > >>>> users
> > > > > > > > >>>>> will not need to change anything to keep everything
> > > working.
> > > > > The
> > > > > > > two
> > > > > > > > >>>>> options I mentioned are below:
> > > > > > > > >>>>>
> > > > > > > > >>>>> * we have two separate classes for in-memory and
> > persisted
> > > > data
> > > > > > > > >>> regions,
> > > > > > > > >>>>> so the configuration would look like so:
> > > > > > > > >>>>>
> > > > > > > > >>>>> IgniteConfiguration cfg = new IgniteConfiguration();
> > > > > > > > >>>>>
> > > > > > > > >>>>> cfg.setDataRegionsConfiguration(new
> > > > DataRegionsConfiguration()
> > > > > > > > >>>>>    .setDataRegions(
> > > > > > > > >>>>>        new MemoryDataRegion()
> > > > > > > > >>>>>            .setName("volatileCaches")
> > > > > > > > >>>>>            .setMaxMemorySize(...),
> > > > > > > > >>>>>        new PersistentDataRegion()
> > > > > > > > >>>>>            .setName("persistentCaches")
> > > > > > > > >>>>>            .setMaxMemorySize(...)
> > > > > > > > >>>>>            .setMaxDiskSize()));
> > > > > > > > >>>>>
> > > > > > > > >>>>> cfg.setPersistentStoreConfiguration(new
> > > > > > > > >> PersistentStoreConfiguration()
> > > > > > > > >>> );
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>> * we have one class for data region configuration, but
> it
> > > > will
> > > > > > > have a
> > > > > > > > >>>>> sub-bean for persistence configuration:
> > > > > > > > >>>>>
> > > > > > > > >>>>> IgniteConfiguration cfg = new IgniteConfiguration();
> > > > > > > > >>>>>
> > > > > > > > >>>>> cfg.setDataRegionsConfiguration(new
> > > > DataRegionsConfiguration()
> > > > > > > > >>>>>    .setDataRegions(
> > > > > > > > >>>>>        new DataRegion()
> > > > > > > > >>>>>            .setName("volatileCaches")
> > > > > > > > >>>>>            .setMaxMemorySize(...),
> > > > > > > > >>>>>        new DataRegion()
> > > > > > > > >>>>>            .setName("persistentCaches")
> > > > > > > > >>>>>            .setMaxMemorySize(...),
> > > > > > > > >>>>>            .setPersistenceConfiguration(
> > > > > > > > >>>>>                new DataRegionPersistenceConfiguration()
> > > > > > > > >>>>>                    .setMaxDiskSize(...))));
> > > > > > > > >>>>>
> > > > > > > > >>>>> cfg.setPersistentStoreConfiguration(new
> > > > > > > > >> PersistentStoreConfiguration()
> > > > > > > > >>> );
> > > > > > > > >>>>>
> > > > > > > > >>>>
> > > > > > > > >>>
> > > > > > > > >>
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
>

Reply via email to