You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by Eduard Rakhmankulov <er...@gmail.com> on 2021/05/06 12:50:44 UTC

Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

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

Posted by Eduard Rakhmankulov <er...@gmail.com>.
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 <st...@gmail.com>
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 <er...@gmail.com>
> 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 <er...@gmail.com>
> > 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 <er...@gmail.com>
> >> 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 <at...@apache.org> wrote:
> >>>
> >>>> +1
> >>>>
> >>>> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, <stanlukyanov@gmail.com
> >
> >>>> 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 <er...@gmail.com>
> >>>>> 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 <
> >>>> erixonich@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

Posted by Stanislav Lukyanov <st...@gmail.com>.
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 <er...@gmail.com> 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 <er...@gmail.com>
> 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 <er...@gmail.com>
>> 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 <at...@apache.org> wrote:
>>> 
>>>> +1
>>>> 
>>>> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, <st...@gmail.com>
>>>> 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 <er...@gmail.com>
>>>>> 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 <
>>>> erixonich@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

Posted by Eduard Rakhmankulov <er...@gmail.com>.
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 <er...@gmail.com>
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 <er...@gmail.com>
> 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 <at...@apache.org> wrote:
>>
>>> +1
>>>
>>> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, <st...@gmail.com>
>>> 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 <er...@gmail.com>
>>> > 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 <
>>> erixonich@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

Posted by Eduard Rakhmankulov <er...@gmail.com>.
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 <er...@gmail.com>
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 <at...@apache.org> wrote:
>
>> +1
>>
>> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, <st...@gmail.com>
>> 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 <er...@gmail.com>
>> > 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 <erixonich@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

Posted by Eduard Rakhmankulov <er...@gmail.com>.
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 <at...@apache.org> wrote:

> +1
>
> On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, <st...@gmail.com>
> 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 <er...@gmail.com>
> > 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 <er...@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.
> > >>
> > >
> > >
> > > --
> > > С уважением, Рахманкулов Э.Р.
> >
> >
>


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

Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

Posted by Atri Sharma <at...@apache.org>.
+1

On Sun, 9 May 2021, 21:33 Stanislav Lukyanov, <st...@gmail.com>
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 <er...@gmail.com>
> 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 <er...@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.
> >>
> >
> >
> > --
> > С уважением, Рахманкулов Э.Р.
>
>

Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

Posted by Stanislav Lukyanov <st...@gmail.com>.
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 <er...@gmail.com> 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 <er...@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.
>> 
> 
> 
> -- 
> С уважением, Рахманкулов Э.Р.


Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton

Posted by Eduard Rakhmankulov <er...@gmail.com>.
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 <er...@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.
>


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