Re: Change IGNITE_PDS_WAL_REBALANCE_THRESHOLD from System property to Configuraton
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
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
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
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
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
+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
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
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. > -- С уважением, Рахманкулов Э.Р.