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 > >