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