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. > -- С уважением, Рахманкулов Э.Р.
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.