Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-17 Thread Eduard Rakhmankulov
Hello Stan!

Thank you for the discussion about this topic. I've created a new Jira
ticket and I am going to work on it.
Jira: https://issues.apache.org/jira/browse/IGNITE-14728.

On Fri, 14 May 2021 at 13:26, Stanislav Lukyanov 
wrote:

> Hi Eduard,
>
> I think IGNITE_PDS_WAL_REBALANCE_THRESHOLD needs to be kept for backwards
> compatibility.
>
> I suggest that it is used as a source of the default value for the new DMS
> property:
> 1. On node start (or perhaps on cluster activation?) the
> wal.rebalance.threshold DMS property is checked
> 2. If the wal.rebalance.threshold has no value,
> IGNITE_PDS_WAL_REBALANCE_THRESHOLD sys property is checked
> 3. If IGNITE_PDS_WAL_REBALANCE_THRESHOLD has a value, it is written to
> wal.rebalance.threshold
> 4. If IGNITE_PDS_WAL_REBALANCE_THRESHOLD, 500 is written to
> wal.rebalance.threshold
>
> IGNITE_PDS_WAL_REBALANCE_THRESHOLD should also be deprecated.
>
> Thanks,
> Stan
>
> > On 13 May 2021, at 14:43, Eduard Rakhmankulov 
> wrote:
> >
> > Hello!
> >
> > Further investigation has showed, that there is a boolean system property
> > which blocks mbean creation, therefore property management through JMX is
> > not a great idea.
> > I found control.sh utility feature that enables distributed property
> > management (--property (set | get | list) ).
> >
> > I propose adding a new distributed property `*wal.rebalance.threshold*`
> to
> > replace IGNITE_PDS_WAL_REBALANCE_THRESHOLD system property functionality
> > with the same default value (*500*).
> > Property management will be executed with control.sh.
> >
> > Please share your thoughts.
> >
> > On Wed, 12 May 2021 at 16:06, Eduard Rakhmankulov 
> > wrote:
> >
> >> Hi!
> >>
> >> I propose to add a new MBean linked to DMS that contains the property
> >> IGNITE_PDS_WAL_REBALANCE_THRESHOLD.
> >> That enables configuration through JMX.
> >>
> >> WDYT?
> >>
> >>
> >> On Tue, 11 May 2021 at 16:52, Eduard Rakhmankulov 
> >> wrote:
> >>
> >>> Hi Stanislav,
> >>>
> >>> I think this is an excellent idea to use distributed metastore.
> >>>
> >>> Should I leave system property for backward compatibility?
> >>>
> >>>
> >>> On Sun, 9 May 2021 at 19:04, Atri Sharma  wrote:
> >>>
>  +1
> 
>  On Sun, 9 May 2021, 21:33 Stanislav Lukyanov,  >
>  wrote:
> 
> > Hi Eduard,
> >
> > I strongly believe that if a configuration option is cluster wide
> then
>  it
> > belongs to distributed metastore and not to IgniteConfiguration.
> > This allows to get cluster-wide consistency guarantees and API for
>  dynamic
> > change out of the box (need to teach the internals to re-read the
>  property
> > from DMS every time of course).
> >
> > WDYT?
> >
> > Stan
> >
> >> On 6 May 2021, at 16:35, Eduard Rakhmankulov 
> > wrote:
> >>
> >> Some addition.
> >>
> >> I want to add configuration to
> >>
> >
> 
> org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
> >> artitionWalRebalanceThreshold
> >> which will have same semantics as system property (number of entries
>  in
> > WAL
> >> to trigger rebalance).
> >>
> >> On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov <
>  erixon...@gmail.com>
> >> wrote:
> >>
> >>> Hello, Igniters!
> >>>
> >>> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
> >>> properties to IgniteConfiguration.
> >>> This configuration is effectively cluster-wide (because only the
> >>> coordinator's configuration matters when the heuristic with this
> > property
> >>> applies).
> >>>
> >>> It is easier to validate that we have the same configuration on all
> > nodes
> >>> than system property (in the case when another coordinator was
>  elected).
> >>>
> >>> --
> >>> Best regards, Eduard.
> >>>
> >>
> >>
> >> --
> >> С уважением, Рахманкулов Э.Р.
> >
> >
> 
> >>>
> >>>
> >>> --
> >>> С уважением, Рахманкулов Э.Р.
> >>>
> >>
> >>
> >> --
> >> Best regards, Eduard.
> >>
> >
> >
> > --
> > С уважением, Рахманкулов Э.Р.
>
>

-- 
С уважением, Рахманкулов Э.Р.


Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-14 Thread Stanislav Lukyanov
Hi Eduard,

I think IGNITE_PDS_WAL_REBALANCE_THRESHOLD needs to be kept for backwards 
compatibility.

I suggest that it is used as a source of the default value for the new DMS 
property:
1. On node start (or perhaps on cluster activation?) the 
wal.rebalance.threshold DMS property is checked
2. If the wal.rebalance.threshold has no value, 
IGNITE_PDS_WAL_REBALANCE_THRESHOLD sys property is checked
3. If IGNITE_PDS_WAL_REBALANCE_THRESHOLD has a value, it is written to 
wal.rebalance.threshold
4. If IGNITE_PDS_WAL_REBALANCE_THRESHOLD, 500 is written to 
wal.rebalance.threshold

IGNITE_PDS_WAL_REBALANCE_THRESHOLD should also be deprecated.

Thanks,
Stan

> On 13 May 2021, at 14:43, Eduard Rakhmankulov  wrote:
> 
> Hello!
> 
> Further investigation has showed, that there is a boolean system property
> which blocks mbean creation, therefore property management through JMX is
> not a great idea.
> I found control.sh utility feature that enables distributed property
> management (--property (set | get | list) ).
> 
> I propose adding a new distributed property `*wal.rebalance.threshold*` to
> replace IGNITE_PDS_WAL_REBALANCE_THRESHOLD system property functionality
> with the same default value (*500*).
> Property management will be executed with control.sh.
> 
> Please share your thoughts.
> 
> On Wed, 12 May 2021 at 16:06, Eduard Rakhmankulov 
> wrote:
> 
>> Hi!
>> 
>> I propose to add a new MBean linked to DMS that contains the property
>> IGNITE_PDS_WAL_REBALANCE_THRESHOLD.
>> That enables configuration through JMX.
>> 
>> WDYT?
>> 
>> 
>> On Tue, 11 May 2021 at 16:52, Eduard Rakhmankulov 
>> wrote:
>> 
>>> Hi Stanislav,
>>> 
>>> I think this is an excellent idea to use distributed metastore.
>>> 
>>> Should I leave system property for backward compatibility?
>>> 
>>> 
>>> On Sun, 9 May 2021 at 19:04, Atri Sharma  wrote:
>>> 
 +1
 
 On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, 
 wrote:
 
> Hi Eduard,
> 
> I strongly believe that if a configuration option is cluster wide then
 it
> belongs to distributed metastore and not to IgniteConfiguration.
> This allows to get cluster-wide consistency guarantees and API for
 dynamic
> change out of the box (need to teach the internals to re-read the
 property
> from DMS every time of course).
> 
> WDYT?
> 
> Stan
> 
>> On 6 May 2021, at 16:35, Eduard Rakhmankulov 
> wrote:
>> 
>> Some addition.
>> 
>> I want to add configuration to
>> 
> 
 org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
>> artitionWalRebalanceThreshold
>> which will have same semantics as system property (number of entries
 in
> WAL
>> to trigger rebalance).
>> 
>> On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov <
 erixon...@gmail.com>
>> wrote:
>> 
>>> Hello, Igniters!
>>> 
>>> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
>>> properties to IgniteConfiguration.
>>> This configuration is effectively cluster-wide (because only the
>>> coordinator's configuration matters when the heuristic with this
> property
>>> applies).
>>> 
>>> It is easier to validate that we have the same configuration on all
> nodes
>>> than system property (in the case when another coordinator was
 elected).
>>> 
>>> --
>>> Best regards, Eduard.
>>> 
>> 
>> 
>> --
>> С уважением, Рахманкулов Э.Р.
> 
> 
 
>>> 
>>> 
>>> --
>>> С уважением, Рахманкулов Э.Р.
>>> 
>> 
>> 
>> --
>> Best regards, Eduard.
>> 
> 
> 
> -- 
> С уважением, Рахманкулов Э.Р.



Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-13 Thread Eduard Rakhmankulov
Hello!

Further investigation has showed, that there is a boolean system property
which blocks mbean creation, therefore property management through JMX is
not a great idea.
I found control.sh utility feature that enables distributed property
management (--property (set | get | list) ).

I propose adding a new distributed property `*wal.rebalance.threshold*` to
replace IGNITE_PDS_WAL_REBALANCE_THRESHOLD system property functionality
with the same default value (*500*).
Property management will be executed with control.sh.

Please share your thoughts.

On Wed, 12 May 2021 at 16:06, Eduard Rakhmankulov 
wrote:

> Hi!
>
> I propose to add a new MBean linked to DMS that contains the property
> IGNITE_PDS_WAL_REBALANCE_THRESHOLD.
> That enables configuration through JMX.
>
> WDYT?
>
>
> On Tue, 11 May 2021 at 16:52, Eduard Rakhmankulov 
> wrote:
>
>> Hi Stanislav,
>>
>> I think this is an excellent idea to use distributed metastore.
>>
>> Should I leave system property for backward compatibility?
>>
>>
>> On Sun, 9 May 2021 at 19:04, Atri Sharma  wrote:
>>
>>> +1
>>>
>>> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, 
>>> wrote:
>>>
>>> > Hi Eduard,
>>> >
>>> > I strongly believe that if a configuration option is cluster wide then
>>> it
>>> > belongs to distributed metastore and not to IgniteConfiguration.
>>> > This allows to get cluster-wide consistency guarantees and API for
>>> dynamic
>>> > change out of the box (need to teach the internals to re-read the
>>> property
>>> > from DMS every time of course).
>>> >
>>> > WDYT?
>>> >
>>> > Stan
>>> >
>>> > > On 6 May 2021, at 16:35, Eduard Rakhmankulov 
>>> > wrote:
>>> > >
>>> > > Some addition.
>>> > >
>>> > > I want to add configuration to
>>> > >
>>> >
>>> org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
>>> > > artitionWalRebalanceThreshold
>>> > > which will have same semantics as system property (number of entries
>>> in
>>> > WAL
>>> > > to trigger rebalance).
>>> > >
>>> > > On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov <
>>> erixon...@gmail.com>
>>> > > wrote:
>>> > >
>>> > >> Hello, Igniters!
>>> > >>
>>> > >> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
>>> > >> properties to IgniteConfiguration.
>>> > >> This configuration is effectively cluster-wide (because only the
>>> > >> coordinator's configuration matters when the heuristic with this
>>> > property
>>> > >> applies).
>>> > >>
>>> > >> It is easier to validate that we have the same configuration on all
>>> > nodes
>>> > >> than system property (in the case when another coordinator was
>>> elected).
>>> > >>
>>> > >> --
>>> > >> Best regards, Eduard.
>>> > >>
>>> > >
>>> > >
>>> > > --
>>> > > С уважением, Рахманкулов Э.Р.
>>> >
>>> >
>>>
>>
>>
>> --
>> С уважением, Рахманкулов Э.Р.
>>
>
>
> --
> Best regards, Eduard.
>


-- 
С уважением, Рахманкулов Э.Р.


Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-12 Thread Eduard Rakhmankulov
Hi!

I propose to add a new MBean linked to DMS that contains the property
IGNITE_PDS_WAL_REBALANCE_THRESHOLD.
That enables configuration through JMX.

WDYT?


On Tue, 11 May 2021 at 16:52, Eduard Rakhmankulov 
wrote:

> Hi Stanislav,
>
> I think this is an excellent idea to use distributed metastore.
>
> Should I leave system property for backward compatibility?
>
>
> On Sun, 9 May 2021 at 19:04, Atri Sharma  wrote:
>
>> +1
>>
>> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, 
>> wrote:
>>
>> > Hi Eduard,
>> >
>> > I strongly believe that if a configuration option is cluster wide then
>> it
>> > belongs to distributed metastore and not to IgniteConfiguration.
>> > This allows to get cluster-wide consistency guarantees and API for
>> dynamic
>> > change out of the box (need to teach the internals to re-read the
>> property
>> > from DMS every time of course).
>> >
>> > WDYT?
>> >
>> > Stan
>> >
>> > > On 6 May 2021, at 16:35, Eduard Rakhmankulov 
>> > wrote:
>> > >
>> > > Some addition.
>> > >
>> > > I want to add configuration to
>> > >
>> >
>> org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
>> > > artitionWalRebalanceThreshold
>> > > which will have same semantics as system property (number of entries
>> in
>> > WAL
>> > > to trigger rebalance).
>> > >
>> > > On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov > >
>> > > wrote:
>> > >
>> > >> Hello, Igniters!
>> > >>
>> > >> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
>> > >> properties to IgniteConfiguration.
>> > >> This configuration is effectively cluster-wide (because only the
>> > >> coordinator's configuration matters when the heuristic with this
>> > property
>> > >> applies).
>> > >>
>> > >> It is easier to validate that we have the same configuration on all
>> > nodes
>> > >> than system property (in the case when another coordinator was
>> elected).
>> > >>
>> > >> --
>> > >> Best regards, Eduard.
>> > >>
>> > >
>> > >
>> > > --
>> > > С уважением, Рахманкулов Э.Р.
>> >
>> >
>>
>
>
> --
> С уважением, Рахманкулов Э.Р.
>


-- 
Best regards, Eduard.


Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-11 Thread Eduard Rakhmankulov
Hi Stanislav,

I think this is an excellent idea to use distributed metastore.

Should I leave system property for backward compatibility?


On Sun, 9 May 2021 at 19:04, Atri Sharma  wrote:

> +1
>
> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, 
> wrote:
>
> > Hi Eduard,
> >
> > I strongly believe that if a configuration option is cluster wide then it
> > belongs to distributed metastore and not to IgniteConfiguration.
> > This allows to get cluster-wide consistency guarantees and API for
> dynamic
> > change out of the box (need to teach the internals to re-read the
> property
> > from DMS every time of course).
> >
> > WDYT?
> >
> > Stan
> >
> > > On 6 May 2021, at 16:35, Eduard Rakhmankulov 
> > wrote:
> > >
> > > Some addition.
> > >
> > > I want to add configuration to
> > >
> >
> org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
> > > artitionWalRebalanceThreshold
> > > which will have same semantics as system property (number of entries in
> > WAL
> > > to trigger rebalance).
> > >
> > > On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov 
> > > wrote:
> > >
> > >> Hello, Igniters!
> > >>
> > >> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
> > >> properties to IgniteConfiguration.
> > >> This configuration is effectively cluster-wide (because only the
> > >> coordinator's configuration matters when the heuristic with this
> > property
> > >> applies).
> > >>
> > >> It is easier to validate that we have the same configuration on all
> > nodes
> > >> than system property (in the case when another coordinator was
> elected).
> > >>
> > >> --
> > >> Best regards, Eduard.
> > >>
> > >
> > >
> > > --
> > > С уважением, Рахманкулов Э.Р.
> >
> >
>


-- 
С уважением, Рахманкулов Э.Р.


Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-09 Thread Atri Sharma
+1

On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, 
wrote:

> Hi Eduard,
>
> I strongly believe that if a configuration option is cluster wide then it
> belongs to distributed metastore and not to IgniteConfiguration.
> This allows to get cluster-wide consistency guarantees and API for dynamic
> change out of the box (need to teach the internals to re-read the property
> from DMS every time of course).
>
> WDYT?
>
> Stan
>
> > On 6 May 2021, at 16:35, Eduard Rakhmankulov 
> wrote:
> >
> > Some addition.
> >
> > I want to add configuration to
> >
> org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
> > artitionWalRebalanceThreshold
> > which will have same semantics as system property (number of entries in
> WAL
> > to trigger rebalance).
> >
> > On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov 
> > wrote:
> >
> >> Hello, Igniters!
> >>
> >> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
> >> properties to IgniteConfiguration.
> >> This configuration is effectively cluster-wide (because only the
> >> coordinator's configuration matters when the heuristic with this
> property
> >> applies).
> >>
> >> It is easier to validate that we have the same configuration on all
> nodes
> >> than system property (in the case when another coordinator was elected).
> >>
> >> --
> >> Best regards, Eduard.
> >>
> >
> >
> > --
> > С уважением, Рахманкулов Э.Р.
>
>


Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-09 Thread Stanislav Lukyanov
Hi Eduard,

I strongly believe that if a configuration option is cluster wide then it 
belongs to distributed metastore and not to IgniteConfiguration.
This allows to get cluster-wide consistency guarantees and API for dynamic 
change out of the box (need to teach the internals to re-read the property from 
DMS every time of course).

WDYT?

Stan

> On 6 May 2021, at 16:35, Eduard Rakhmankulov  wrote:
> 
> Some addition.
> 
> I want to add configuration to
> org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
> artitionWalRebalanceThreshold
> which will have same semantics as system property (number of entries in WAL
> to trigger rebalance).
> 
> On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov 
> wrote:
> 
>> Hello, Igniters!
>> 
>> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
>> properties to IgniteConfiguration.
>> This configuration is effectively cluster-wide (because only the
>> coordinator's configuration matters when the heuristic with this property
>> applies).
>> 
>> It is easier to validate that we have the same configuration on all nodes
>> than system property (in the case when another coordinator was elected).
>> 
>> --
>> Best regards, Eduard.
>> 
> 
> 
> -- 
> С уважением, Рахманкулов Э.Р.



Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

2021-05-06 Thread Eduard Rakhmankulov
Some addition.

I want to add configuration to
org.apache.ignite.configuration.DataStorageConfiguration#getDefaultWarmUpConfiguration#getP
artitionWalRebalanceThreshold
which will have same semantics as system property (number of entries in WAL
to trigger rebalance).

On Thu, 6 May 2021 at 15:50, Eduard Rakhmankulov 
wrote:

> Hello, Igniters!
>
> I suggest changing IGNITE_PDS_WAL_REBALANCE_THRESHOLD from system
> properties to IgniteConfiguration.
> This configuration is effectively cluster-wide (because only the
> coordinator's configuration matters when the heuristic with this property
> applies).
>
> It is easier to validate that we have the same configuration on all nodes
> than system property (in the case when another coordinator was elected).
>
> --
> Best regards, Eduard.
>


-- 
С уважением, Рахманкулов Э.Р.