On Fri, May 26, 2017 at 12:17 PM, Denis Magda <dma...@apache.org> wrote:

> Local and near caches can be configured on clients. But you can still
> define replicated and partitioned ones in the clients’ configuration and
> they will be simply ignored. I want us to do the same for the persistent
> store (simply ignore it if it’s defined in a client’s configuration).
>

Denis, are you absolutely 100% sure that there is no way to configure
normal cache on the client nodes? If yes, then I agree with you.


> Sounds reasonable?
>
>
> —
> Denis
>
> > On May 26, 2017, at 12:14 PM, Dmitriy Setrakyan <dsetrak...@apache.org>
> wrote:
> >
> > On Fri, May 26, 2017 at 11:59 AM, Denis Magda <dma...@apache.org> wrote:
> >
> >> Exactly, you can specify caches in the configuration of both clients and
> >> servers BUT the caches will be deployed on the servers only.
> >> This is why it’s absolutely fine to use a single configuration (with
> >> caches defined) for all your cluster nodes because Ignite can
> automatically
> >> figure out what doesn’t make sense for clients and what’s not.
> >>
> >
> > Agree. But it is still possible to configure caches on the client side,
> > right? All I want is for us to remain consistent and provide identical
> > behavior with persistence enabled.
> >
> >
> >>
> >> —
> >> Denis
> >>
> >>> On May 26, 2017, at 11:46 AM, Dmitriy Setrakyan <dsetrak...@apache.org
> >
> >> wrote:
> >>>
> >>> Denis,
> >>>
> >>> I think I misunderstand the issue. How do we do it for caches? Caches
> are
> >>> only supposed to be enabled on the servers by default. Do we require a
> >>> different configuration file for clients and servers for the caches?
> >>>
> >>> D.
> >>>
> >>> On Fri, May 26, 2017 at 11:41 AM, Denis Magda <dma...@apache.org>
> wrote:
> >>>
> >>>> I tend to use a single XML configuration for all my cluster nodes
> >> (servers
> >>>> and clients). Presently, I forced to create and maintain at least 2.
> >> This
> >>>> is the first concern. The second concern is if persistence store has
> no
> >>>> effect for the client node why not simply ignore it and not make the
> >> user
> >>>> to set MemoryConfiguration explicitly if the goal is to use a single
> XML
> >>>> config.
> >>>>
> >>>> —
> >>>> Denis
> >>>>
> >>>>> On May 26, 2017, at 11:33 AM, Dmitriy Setrakyan <
> dsetrak...@apache.org
> >>>
> >>>> wrote:
> >>>>>
> >>>>> On Fri, May 26, 2017 at 11:29 AM, Denis Magda <dma...@apache.org
> >>>> <mailto:dma...@apache.org>> wrote:
> >>>>>
> >>>>>>> Can we just fix the exception
> >>>>>>> message to clearly state that client mode requires all explicit
> >>>>>>> configuration for such and such functionality?
> >>>>>>
> >>>>>> I don’t like this. It will require me as a user:
> >>>>>>
> >>>>>> * have a separate configuration for clients ALL the times.
> >>>>>> * initialize the memory bean explicitly which looks like a hack and
> >>>>>> workaround
> >>>>>>
> >>>>>> <property name="memoryConfiguration">
> >>>>>> <bean class="org.apache.ignite.configuration.MemoryConfiguration">
> >>>>>> </bean>
> >>>>>> </property>
> >>>>>>
> >>>>>>
> >>>>> Denis,
> >>>>>
> >>>>> Why would you even have a use case for a persistence configuration on
> >> the
> >>>>> client side? What happened in your case was a mistake and you should
> >> have
> >>>>> received a proper exception. I am simply suggesting that in the odd
> >> case
> >>>>> that someone does need it, we provide proper error message explaining
> >>>>> exactly what needs to be done. Why not?
> >>>>>
> >>>>>
> >>>>>>> On May 26, 2017, at 11:02 AM, Dmitriy Setrakyan <
> >> dsetrak...@apache.org
> >>>>>
> >>>>>> wrote:
> >>>>>>>
> >>>>>>> I don't like ignoring any configuration, but I do agree that
> enabling
> >>>>>>> persistence on the client side seems odd. Can we just fix the
> >> exception
> >>>>>>> message to clearly state that client mode requires all explicit
> >>>>>>> configuration for such and such functionality?
> >>>>>>>
> >>>>>>> D.
> >>>>>>>
> >>>>>>> On Fri, May 26, 2017 at 10:34 AM, Sergey Chugunov <
> >>>>>> sergey.chugu...@gmail.com
> >>>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Denis,
> >>>>>>>>
> >>>>>>>> Thanks for quick reply,
> >>>>>>>>
> >>>>>>>> I made a change and tested it with your example, everything looks
> >>>> fine.
> >>>>>>>>
> >>>>>>>> Pull request is open and available at [1]
> >>>>>>>>
> >>>>>>>> [1] https://github.com/apache/ignite/pull/2016
> >>>>>>>>
> >>>>>>>> On Fri, May 26, 2017 at 8:25 PM, Denis Magda <dma...@apache.org>
> >>>> wrote:
> >>>>>>>>
> >>>>>>>>>> I would suggest on the first iteration to simply ignore
> >> persistence
> >>>>>>>>>> configuration on client nodes.
> >>>>>>>>>> If client node finds persistence configuration on startup it
> will
> >>>>>>>>> printout
> >>>>>>>>>> warning message to log and proceed without persistence.
> >>>>>>>>>
> >>>>>>>>> +1 for this. Otherwise, it looks like a dirty hack when I need to
> >> add
> >>>>>> an
> >>>>>>>>> empty MemoryConfiguration to a client config file. Plus, it
> >> requires
> >>>> us
> >>>>>>>> to
> >>>>>>>>> create different configuration files for servers and clients
> which
> >>>> has
> >>>>>> to
> >>>>>>>>> be optional by default.
> >>>>>>>>>
> >>>>>>>>> —
> >>>>>>>>> Denis
> >>>>>>>>>
> >>>>>>>>>> On May 26, 2017, at 9:50 AM, Sergey Chugunov <
> >>>>>>>> sergey.chugu...@gmail.com>
> >>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>> Moreover, enabling persistence on client node is very risky and
> >> may
> >>>>>>>> lead
> >>>>>>>>> to
> >>>>>>>>>> many tricky cases.
> >>>>>>>>>>
> >>>>>>>>>> I would suggest on the first iteration to simply ignore
> >> persistence
> >>>>>>>>>> configuration on client nodes.
> >>>>>>>>>> If client node finds persistence configuration on startup it
> will
> >>>>>>>>> printout
> >>>>>>>>>> warning message to log and proceed without persistence.
> >>>>>>>>>>
> >>>>>>>>>> Supporting persistence on client nodes definitely requires more
> >>>>>>>>> thoughtful
> >>>>>>>>>> discussion and may be added in the future.
> >>>>>>>>>>
> >>>>>>>>>> Thanks,
> >>>>>>>>>> Sergey.
> >>>>>>>>>>
> >>>>>>>>>> On Fri, May 26, 2017 at 7:28 PM, Sergey Chugunov <
> >>>>>>>>> sergey.chugu...@gmail.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>> Denis,
> >>>>>>>>>>>
> >>>>>>>>>>> I see from example that you're trying to start a client node
> with
> >>>>>>>>>>> persistence configuration specified and you're saying that
> Ignite
> >>>>>> must
> >>>>>>>>>>> provide default MemoryConfiguration.
> >>>>>>>>>>>
> >>>>>>>>>>> But that contradicts with decision we all agreed on in the
> >>>>>>>>> discussion[1]:
> >>>>>>>>>>> if user wants to do something unusual on client nodes like
> >> storing
> >>>>>>>> cache
> >>>>>>>>>>> partitions (or in this case persisting stuff) he/she *must
> >> *provide
> >>>>>>>> all
> >>>>>>>>>>> necessary configuration explicitly.
> >>>>>>>>>>>
> >>>>>>>>>>> Server node with the same persistence configuration (and
> without
> >>>>>>>>> explicit
> >>>>>>>>>>> memory configuration) starts just fine.
> >>>>>>>>>>>
> >>>>>>>>>>> [1] http://apache-ignite-developers.2346864.n4.nabble.
> >>>>>>>>>>> com/Question-local-cache-on-client-nodes-tt15950.html
> >>>>>>>>>>>
> >>>>>>>>>>> Thanks,
> >>>>>>>>>>> Sergey.
> >>>>>>>>>>>
> >>>>>>>>>>> On Fri, May 26, 2017 at 7:03 PM, Denis Magda <
> dma...@apache.org>
> >>>>>>>> wrote:
> >>>>>>>>>>>
> >>>>>>>>>>>> Sergey,
> >>>>>>>>>>>>
> >>>>>>>>>>>> The issue vanishes as soon as I add the following to the
> >>>>>>>> configuration:
> >>>>>>>>>>>>
> >>>>>>>>>>>> <property name="memoryConfiguration">
> >>>>>>>>>>>> <bean class="org.apache.ignite.configuration.
> >>>>>>>> MemoryConfiguration">
> >>>>>>>>>>>> </bean>
> >>>>>>>>>>>> </property>
> >>>>>>>>>>>>
> >>>>>>>>>>>> My point is that we just need to create a MemoryConfiguration
> >>>>>>>>> implicitly
> >>>>>>>>>>>> if it’s not defined (no any warnings or extra messages). It’s
> a
> >>>>>>>>>>>> responsibility of our platform to generate a default
> >> configuration
> >>>>>> if
> >>>>>>>>> it’s
> >>>>>>>>>>>> not set explicitly.
> >>>>>>>>>>>>
> >>>>>>>>>>>> —
> >>>>>>>>>>>> Denis
> >>>>>>>>>>>>
> >>>>>>>>>>>>> On May 26, 2017, at 8:46 AM, Sergey Chugunov <
> >>>>>>>>> sergey.chugu...@gmail.com>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Hi Denis,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> What is the expected behavior in that case? Bug doesn't
> suggest
> >>>>>> any.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> From my point of view it would be better to throw an
> exception
> >> on
> >>>>>>>>>>>> startup
> >>>>>>>>>>>>> with meaningful message than to silently create a default
> >>>>>>>>>>>>> MemoryConfiguration under the cover.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>> Sergey.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> On Fri, May 26, 2017 at 4:00 AM, Denis Magda <
> >> dma...@apache.org>
> >>>>>>>>> wrote:
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> Igniters,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> I’ve just added the first Persistent Store example to the
> >> branch
> >>>>>>>> that
> >>>>>>>>>>>>>> fosters the donation:
> >>>>>>>>>>>>>> https://github.com/apache/ignite/tree/ignite-5267/
> >>>>>>>>>>>>>> examples/src/main/java/org/apache/ignite/examples/
> >>>> persistentstore
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> However, the example fails with an NPE if a
> >> MemoryConfiguration
> >>>> is
> >>>>>>>>> not
> >>>>>>>>>>>>>> defined explicitly:
> >>>>>>>>>>>>>> https://issues.apache.org/jira/browse/IGNITE-5295
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Please those who are involved in the store development fix
> the
> >>>>>>>> issue
> >>>>>>>>> by
> >>>>>>>>>>>>>> the end of tomorrow. I want to complete with the technical
> >>>>>>>>>>>> documentation
> >>>>>>>>>>>>>> referring to a workable example.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> —
> >>>>>>>>>>>>>> Denis
> >>>>
> >>>>
> >>
> >>
>
>

Reply via email to