You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by 李玉...@163, 18...@163.com on 2016/01/13 14:09:24 UTC

about AtomicConfiguration

Hi:

About AtomicConfiguration, I found the following issue:

Configuration of node 1:

AtomicConfiguration atomicCfg = new AtomicConfiguration();
atomicCfg.setBackups(1);
atomicCfg.setAtomicSequenceReserveSize(0);

IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setAtomicConfiguration(atomicCfg);
Ignite ignite = Ignition.start(cfg);

Configuration of node 2:

Ignite ignite = Ignition.start();

Then there will be the following error:

Only two nodes are configured in the same configuration to successfully 
start up。

AtomicConfiguration is the global configuration of the start, can not be 
set dynamically after the start, and can not be set for a single sequence。

CacheConfiguration can be configured separately, and can be dynamically 
configured by ignite.getOrCreateCache(CacheConfiguration) after startup.

I think AtomicConfiguration's design is not reasonable。
I propose to merge the three parameters of the atomicSequence method 
with the AtomicConfiguration, and then add one:
Ignite.atomicSequence (AtomicConfiguration) method.

Or communitity can consider a more elegant approach.

Re: about AtomicConfiguration

Posted by Dmitriy Setrakyan <ds...@apache.org>.
Valentin,

Can you please add more explanation to IGNITE-2096, so it will be more
clear what needs to be fixed?

Thanks,
D.

On Wed, Jan 13, 2016 at 8:09 PM, Valentin Kulichenko <
valentin.kulichenko@gmail.com> wrote:

> Hi,
>
> This behavior is correct and unfortunately your suggestion is not going to
> work. We create only one cache for all atomic structures, so you can't pass
> new configuration for each created atomic. It makes perfect sense to define
> all parameters that are not specific for a particular atomic during the
> node startup.
>
> As for the error message and the consistency check, I think the message is
> very confusing. And the ticket for this already exists for a while [1].
> It's assigned to me right now, but if you're interested, feel free to
> assign to yourself and provide a patch.
>
> [1] https://issues.apache.org/jira/browse/IGNITE-2096
>
> -Val
>
> On Wed, Jan 13, 2016 at 5:09 AM, 李玉珏@163 <18...@163.com> wrote:
>
>> Hi:
>>
>> About AtomicConfiguration, I found the following issue:
>>
>> Configuration of node 1:
>>
>> AtomicConfiguration atomicCfg = new AtomicConfiguration();
>> atomicCfg.setBackups(1);
>> atomicCfg.setAtomicSequenceReserveSize(0);
>>
>> IgniteConfiguration cfg = new IgniteConfiguration();
>> cfg.setAtomicConfiguration(atomicCfg);
>> Ignite ignite = Ignition.start(cfg);
>>
>> Configuration of node 2:
>>
>> Ignite ignite = Ignition.start();
>>
>> Then there will be the following error:
>>
>> Only two nodes are configured in the same configuration to successfully
>> start up。
>>
>> AtomicConfiguration is the global configuration of the start, can not be
>> set dynamically after the start, and can not be set for a single sequence。
>>
>> CacheConfiguration can be configured separately, and can be dynamically
>> configured by ignite.getOrCreateCache(CacheConfiguration) after startup.
>>
>> I think AtomicConfiguration's design is not reasonable。
>> I propose to merge the three parameters of the atomicSequence method with
>> the AtomicConfiguration, and then add one:
>> Ignite.atomicSequence (AtomicConfiguration) method.
>>
>> Or communitity can consider a more elegant approach.
>>
>
>

Re: about AtomicConfiguration

Posted by Valentin Kulichenko <va...@gmail.com>.
Hi,

This behavior is correct and unfortunately your suggestion is not going to
work. We create only one cache for all atomic structures, so you can't pass
new configuration for each created atomic. It makes perfect sense to define
all parameters that are not specific for a particular atomic during the
node startup.

As for the error message and the consistency check, I think the message is
very confusing. And the ticket for this already exists for a while [1].
It's assigned to me right now, but if you're interested, feel free to
assign to yourself and provide a patch.

[1] https://issues.apache.org/jira/browse/IGNITE-2096

-Val

On Wed, Jan 13, 2016 at 5:09 AM, 李玉珏@163 <18...@163.com> wrote:

> Hi:
>
> About AtomicConfiguration, I found the following issue:
>
> Configuration of node 1:
>
> AtomicConfiguration atomicCfg = new AtomicConfiguration();
> atomicCfg.setBackups(1);
> atomicCfg.setAtomicSequenceReserveSize(0);
>
> IgniteConfiguration cfg = new IgniteConfiguration();
> cfg.setAtomicConfiguration(atomicCfg);
> Ignite ignite = Ignition.start(cfg);
>
> Configuration of node 2:
>
> Ignite ignite = Ignition.start();
>
> Then there will be the following error:
>
> Only two nodes are configured in the same configuration to successfully
> start up。
>
> AtomicConfiguration is the global configuration of the start, can not be
> set dynamically after the start, and can not be set for a single sequence。
>
> CacheConfiguration can be configured separately, and can be dynamically
> configured by ignite.getOrCreateCache(CacheConfiguration) after startup.
>
> I think AtomicConfiguration's design is not reasonable。
> I propose to merge the three parameters of the atomicSequence method with
> the AtomicConfiguration, and then add one:
> Ignite.atomicSequence (AtomicConfiguration) method.
>
> Or communitity can consider a more elegant approach.
>