Hello Maxim, In general, we should not remove existing public APIs / properties until the major version is released, even though the community has an agreement that these properties are useless. I fully support the idea that rebalanceOrder, rebalanceDelay, and CacheRebalanceMode#NONE should be marked with @Deprecated right now and should be removed in a major version of AI.
Thanks, S. чт, 20 февр. 2020 г. в 16:41, Maxim Muzafarov <mmu...@apache.org>: > Folks, > > > Can we not only mark `rebalanceDelay` and `rebalanceOrder` with > @deprecated annotation but also remove its support from the source > code? For instance, for the next 2.9 release. I see the next > advantages here: > > 1. It will greatly simplify the implementation of ExchageManager (It > also overcomplicated for now). > 2. We already have BLT support for persistence and in-memory caches, > so from a user perspective, there are no changes (in general). > > > Also, I think these properties were had meaning for Apache Ignite 1.x > version, but not for 2.x. > Are there any reasons to wait for removing them it 3.0? > > On Tue, 18 Feb 2020 at 12:21, Alexei Scherbakov > <alexey.scherbak...@gmail.com> wrote: > > > > Folks, > > > > Looks like we came to an agreement - rebalanceDelay and rebalanceOrder > > should be deprecated. > > > > Anyone else has objections ? > > > > > > чт, 13 февр. 2020 г. в 14:40, Alexei Scherbakov < > > alexey.scherbak...@gmail.com>: > > > > > But in combination with BLT it will work as intended - no rebalancing > > > under the cover. > > > > > > чт, 13 февр. 2020 г. в 14:39, Alexei Scherbakov < > > > alexey.scherbak...@gmail.com>: > > > > > >> Of course, stable topology will be just a hint. > > >> > > >> Any node can leave at any moment. > > >> > > >> чт, 13 февр. 2020 г. в 14:35, Alexei Scherbakov < > > >> alexey.scherbak...@gmail.com>: > > >> > > >>> 1. Yes > > >>> > > >>> 2. This is right but doesn't sound like a bug. The rebalancing will > be > > >>> finished before releasing syncFut and partitions will contain all > necessary > > >>> data (but are still in moving state). > > >>> > > >>> 3. No, local node doesn't wait the rebalancing on all grid nodes. > > >>> > > >>> Actually, I think SYNC mode should be dropped as well. Instead we > must > > >>> provide the convenient public API to wait for "stable" topology. > > >>> > > >>> > > >>> чт, 13 февр. 2020 г. в 14:09, Maxim Muzafarov <mmu...@apache.org>: > > >>> > > >>>> Pavel, > > >>>> > > >>>> It's still a big question regarding SYNC rebalance mode. Here is my > > >>>> thoughts. > > >>>> > > >>>> 1. Yes, we must rebalance such caches prior to ASYNC one (if the > > >>>> rebalanceOrder configuration will be removed). > > >>>> > > >>>> 2. When persistence is enabled and when WAL is disabled (on the > first > > >>>> rebalance start), I think we should finish syncFuture only on > > >>>> checkpoint like we are enabling the WAL state for cache group and > > >>>> simultaneously owning all MOVING partitions. But currently, I've > seen > > >>>> that syncFuture finishes when there are no remaining partitions left > > >>>> [1]. > > >>>> Is it correct? Seems like a bug. > > >>>> > > >>>> 3. In my understanding, a new local node can start only when ALL > SYNC > > >>>> cache groups have been fully rebalanced on ALL nodes, right? But how > > >>>> about late affinity assignment here? It seems that SYNC caches will > be > > >>>> rebalanced locally on the node, the node will start, but other nodes > > >>>> still think this node is not operational (late affinity assignment > not > > >>>> occurred yet). > > >>>> > > >>>> > > >>>> [1] > > >>>> > https://github.com/apache/ignite/blob/master/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java#L1561 > > >>>> > > >>>> On Thu, 13 Feb 2020 at 12:57, Pavel Pereslegin <xxt...@gmail.com> > > >>>> wrote: > > >>>> > > > >>>> > > +1 to deprecate rebalanceOrder and remove related functionality, > > >>>> > Meant to "rework related functionality" not "remove". > > >>>> > > > >>>> > чт, 13 февр. 2020 г. в 12:47, Pavel Pereslegin <xxt...@gmail.com > >: > > >>>> > > > > >>>> > > Hello, > > >>>> > > > > >>>> > > +1 to deprecate rebalanceOrder and remove related functionality, > > >>>> > > should we create a separate ticket for this? > > >>>> > > > > >>>> > > Btw, as I understand, SYNC mode is only useful for in-memory > caches, > > >>>> > > because when persistence is enabled (and WAL is disabled during > > >>>> > > rebalancing), even "ignite-sys-cache" owns partitions only > after all > > >>>> > > cache groups are rebalanced. Thus, even utility cache is still > > >>>> > > inoperable after node startup when persistence is enabled. Do we > > >>>> > > really need to wait for SYNC caches when a node starts with > enabled > > >>>> > > persistence or should we enabled WAL for SYNC-caches? > > >>>> > > > > >>>> > > чт, 13 февр. 2020 г. в 11:13, Ivan Rakov <ivan.glu...@gmail.com > >: > > >>>> > > > > > >>>> > > > Hello, > > >>>> > > > > > >>>> > > > +1 from me for rebalance delay deprecation. > > >>>> > > > I can imagine only one actual case for this option: prevent > > >>>> excessive load > > >>>> > > > on the cluster in case of temporary short-term topology > changes > > >>>> (e.g. node > > >>>> > > > is stopped for a while and then returned back). > > >>>> > > > Now it's handled by baseline auto adjustment in a much more > > >>>> correct way: > > >>>> > > > partitions are not reassigned within a maintenance interval > > >>>> (unlike with > > >>>> > > > the rebalance delay). > > >>>> > > > I also don't think that ability to configure rebalance delay > per > > >>>> cache is > > >>>> > > > crucial. > > >>>> > > > > > >>>> > > > > rebalanceOrder is also useless, agreed. > > >>>> > > > +1 > > >>>> > > > Except for one case: we may want to rebalance caches with > > >>>> > > > CacheRebalanceMode.SYNC first. But anyway, this behavior > doesn't > > >>>> require a > > >>>> > > > separate property to be enabled. > > >>>> > > > > > >>>> > > > On Wed, Feb 12, 2020 at 4:54 PM Alexei Scherbakov < > > >>>> > > > alexey.scherbak...@gmail.com> wrote: > > >>>> > > > > > >>>> > > > > Maxim, > > >>>> > > > > > > >>>> > > > > rebalanceDelay was introduced before the BLT appear in the > > >>>> product to solve > > >>>> > > > > scenarios which are now solved by BLT. > > >>>> > > > > > > >>>> > > > > It's pointless for me having it in the product since BLT was > > >>>> introduced. > > >>>> > > > > > > >>>> > > > > I do not think delaying rebalancing per cache group has any > > >>>> meaning. I > > >>>> > > > > cannot image any reason for it. > > >>>> > > > > > > >>>> > > > > rebalanceOrder is also useless, agreed. > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > ср, 12 февр. 2020 г. в 16:19, Maxim Muzafarov < > > >>>> mmu...@apache.org>: > > >>>> > > > > > > >>>> > > > > > Alexey, > > >>>> > > > > > > > >>>> > > > > > Why do you think delaying of historical rebalance (on BLT > > >>>> node join) > > >>>> > > > > > for particular cache groups is not the real world use > case? > > >>>> Probably > > >>>> > > > > > the same topic may be started on user-list to collect more > > >>>> use cases > > >>>> > > > > > from real users. > > >>>> > > > > > > > >>>> > > > > > In general, I support reducing the number of available > > >>>> rebalance > > >>>> > > > > > configuration parameters, but we should do it really > > >>>> carefully. > > >>>> > > > > > I can also propose - rebalanceOrder param for removing. > > >>>> > > > > > > > >>>> > > > > > On Wed, 12 Feb 2020 at 15:50, Alexei Scherbakov > > >>>> > > > > > <alexey.scherbak...@gmail.com> wrote: > > >>>> > > > > > > > > >>>> > > > > > > Maxim, > > >>>> > > > > > > > > >>>> > > > > > > In general rebalanceDelay is used to delay/disable > > >>>> rebalance then > > >>>> > > > > > topology > > >>>> > > > > > > is changed. > > >>>> > > > > > > Right now we have BLT to avoid unnecesary rebalancing > when > > >>>> topology is > > >>>> > > > > > > changed. > > >>>> > > > > > > If a node left from cluster topology no rebalancing > happens > > >>>> until the > > >>>> > > > > > node > > >>>> > > > > > > explicitly removed from baseline topology. > > >>>> > > > > > > > > >>>> > > > > > > I would like to know real world scenarios which can not > be > > >>>> covered by > > >>>> > > > > BLT > > >>>> > > > > > > configuration. > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > ср, 12 февр. 2020 г. в 15:16, Maxim Muzafarov < > > >>>> mmu...@apache.org>: > > >>>> > > > > > > > > >>>> > > > > > > > Alexey, > > >>>> > > > > > > > > > >>>> > > > > > > > > All scenarios where rebalanceDelay has meaning are > > >>>> handled by > > >>>> > > > > > baseline > > >>>> > > > > > > > topology now. > > >>>> > > > > > > > > > >>>> > > > > > > > Can you, please, provide more details here e.g. the > whole > > >>>> list of > > >>>> > > > > > > > scenarios where rebalanceDelay is used and how these > > >>>> handled by > > >>>> > > > > > > > baseline topology? > > >>>> > > > > > > > > > >>>> > > > > > > > Actually, I doubt that it covers exactly all the cases > > >>>> due to > > >>>> > > > > > > > rebalanceDelay is a "per cache group property" rather > > >>>> than "baseline" > > >>>> > > > > > > > is meaningful for the whole topology. > > >>>> > > > > > > > > > >>>> > > > > > > > On Wed, 12 Feb 2020 at 12:58, Alexei Scherbakov > > >>>> > > > > > > > <alexey.scherbak...@gmail.com> wrote: > > >>>> > > > > > > > > > > >>>> > > > > > > > > I've meant baseline topology. > > >>>> > > > > > > > > > > >>>> > > > > > > > > ср, 12 февр. 2020 г. в 12:41, Alexei Scherbakov < > > >>>> > > > > > > > > alexey.scherbak...@gmail.com>: > > >>>> > > > > > > > > > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > V.Pyatkov > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > Doesn't rebalance topology solves it ? > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > ср, 12 февр. 2020 г. в 12:31, V.Pyatkov < > > >>>> vldpyat...@gmail.com>: > > >>>> > > > > > > > > > > > >>>> > > > > > > > > >> Hi, > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > >> I am sure we can to reduce this ability, but do > not > > >>>> completely. > > >>>> > > > > > > > > >> We can use rebalance delay for disable it until > > >>>> manually > > >>>> > > > > > triggered. > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > >> CacheConfiguration#setRebalanceDelay(-1) > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > >> It may helpful for cluster where can not allow > > >>>> performance drop > > >>>> > > > > > from > > >>>> > > > > > > > > >> rebalance at any time. > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > >> -- > > >>>> > > > > > > > > >> Sent from: > > >>>> > > > > http://apache-ignite-developers.2346864.n4.nabble.com/ > > >>>> > > > > > > > > >> > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > -- > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > Best regards, > > >>>> > > > > > > > > > Alexei Scherbakov > > >>>> > > > > > > > > > > > >>>> > > > > > > > > > > >>>> > > > > > > > > > > >>>> > > > > > > > > -- > > >>>> > > > > > > > > > > >>>> > > > > > > > > Best regards, > > >>>> > > > > > > > > Alexei Scherbakov > > >>>> > > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > > > >>>> > > > > > > -- > > >>>> > > > > > > > > >>>> > > > > > > Best regards, > > >>>> > > > > > > Alexei Scherbakov > > >>>> > > > > > > > >>>> > > > > > > >>>> > > > > > > >>>> > > > > -- > > >>>> > > > > > > >>>> > > > > Best regards, > > >>>> > > > > Alexei Scherbakov > > >>>> > > > > > > >>>> > > >>> > > >>> > > >>> -- > > >>> > > >>> Best regards, > > >>> Alexei Scherbakov > > >>> > > >> > > >> > > >> -- > > >> > > >> Best regards, > > >> Alexei Scherbakov > > >> > > > > > > > > > -- > > > > > > Best regards, > > > Alexei Scherbakov > > > > > > > > > -- > > > > Best regards, > > Alexei Scherbakov >