Ed, Agreed. Can we see proposed API changes?
On Tue, Apr 24, 2018 at 6:39 PM, Eduard Shangareev < [email protected]> wrote: > Vladimir, > > It will be fixed, But it is not user-list. > > We (developers) should decide ourselves how to go ahead with these > concepts. > > And I think that our old approach to describe BLAT is sophisticated and not > clear (maybe, even error-prone). > > On Tue, Apr 24, 2018 at 6:28 PM, Vladimir Ozerov <[email protected]> > wrote: > > > Guys, > > > > As a user I definitely do not want to think about BLATs, SATs, DATs, > > whatsoever. I want to query data, iterate over data, send compute tasks > to > > data. If certain node is outside of BLAT and do not have data, then this > is > > not affinity node. Can we just fix affinity logic to take in count BLAT > > appropriately? > > > > On Tue, Apr 24, 2018 at 6:12 PM, Ivan Rakov <[email protected]> > wrote: > > > > > Eduard, > > > > > > Can you please summarize code changes that you are proposing? > > > I agree that BLT is a bit misleading term and DAT/SAT make more sense. > > > However, establishing a consensus on v2.4 Baseline Topology terminology > > > took a long time and seems like you are going to cause a bit more > > > perturbations. > > > I still don't understand what and how should be changed. Please provide > > > summary of upcoming class renamings and changes of existing system > parts. > > > > > > Best Regards, > > > Ivan Rakov > > > > > > > > > On 24.04.2018 17:46, Eduard Shangareev wrote: > > > > > >> Hi, Igniters, > > >> > > >> I want to raise a topic about our affinity node definition. > > >> > > >> After adding baseline (affinity) topology (BL(A)T) things start being > > >> complicated. > > >> > > >> Plenty of bugs appears: > > >> > > >> IGNITE-8173 > > >> ignite.getOrCreateCache(cacheConfig).iterator() method works > incorrect > > >> for > > >> replicated cache in case if some data node isn't in baseline > > >> > > >> IGNITE-7628 > > >> SqlQuery hangs indefinitely with additional not registered in baseline > > >> node. > > >> > > >> It's because everything relies on concept "affinity node". > > >> And until now it was as simple as a server node which passes node > > filter. > > >> Other words any server node which is not filtered out by node filter. > > >> > > >> But node which is not in BL(A)T and which passes node filter would be > > >> treated as affinity node. And it's definitely wrong. At least, it is a > > >> source of many bugs (I believe there are much more than those 2 which > I > > >> already have mentioned). > > >> > > >> It's clear that this definition should be changed. > > >> Let's start with a new definition of "Affinity topology". Affinity > > >> topology > > >> is a set of nodes which potentially could keep data. > > >> > > >> If we use knowledge about the current realization we can say that 1. > for > > >> in-memory cache groups it would be all server nodes; > > >> 2. for persistent cache groups it would be BL(A)T. > > >> > > >> I will further use Dynamic Affinity Topology or DAT for 1 (in-memory > > cache > > >> groups) and Static Affinity Topology or SAT instead BL(A)T, or 2nd > > point. > > >> > > >> Denote node filter as f(X), where X is affinity topology. > > >> > > >> Then we can say that node A is affinity node if > > >> A ∈ AT', where AT' = f(AT), where AT is DAT or SAT. > > >> > > >> It worth to mention that AT' should be used to pass to affinity > function > > >> of > > >> cache groups. > > >> Also, AT and AT' could change during the time (BL(A)T changes or node > > >> joins/disconnections). > > >> > > >> And I don't like fact that usage of DAT or SAT relies on persistence > > >> settings (Should we make it configurable per cache group?). > > >> > > >> Ok, I have created a ticket to implement this changes and will start > > >> working on it. > > >> https://issues.apache.org/jira/browse/IGNITE-8380 (Affinity node > > >> calculation doesn't take into account BLT). > > >> > > >> Also, I want to use these definitions (Affinity Topology, Affinity > Node, > > >> DAT, SAT) in documentation and java docs. > > >> > > >> Maybe, we also should consider replacing BL(A)T with SAT. > > >> > > >> Thank you for your attention. > > >> > > >> > > > > > >
