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.

—
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