As I see from the AffinityFunction implementations, client nodes are not used 
there that implies there is no way to deploy replicated and partitioned caches 
there.

—
Denis

> On May 26, 2017, at 12:19 PM, Dmitriy Setrakyan <dsetrak...@apache.org> wrote:
> 
> 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