Hi all.
Is it possible to configures affinities in a way that partition for same key will be on same node? So calling ignite.affinity(CACHE).mapKeyToNode(KEY).id() with same key for any cache will return same node id. Is that possible with a configuration etc.? -- Alper Tekinalp Software Developer Evam Streaming Analytics Atatürk Mah. Turgut Özal Bulv. Gardenya 5 Plaza K:6 Ataşehir 34758 İSTANBUL Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 www.evam.com.tr <http://www.evam.com> |
Hi Alper,
You can implement you own affinityFunction to achieve this. In AF you should implement 2 mappings: key to partition and partition to node. First mapping looks trivial, but second doesn't. Even if you will lucky to do it, there is no way to choose what node wil be primary and what will be backup for a partition, that can be an issue. On Thu, Feb 23, 2017 at 10:44 AM, Alper Tekinalp <[hidden email]> wrote: > Hi all. > > Is it possible to configures affinities in a way that partition for same > key will be on same node? So calling > ignite.affinity(CACHE).mapKeyToNode(KEY).id() with same key for any cache > will return same node id. Is that possible with a configuration etc.? > > -- > Alper Tekinalp > > Software Developer > Evam Streaming Analytics > > Atatürk Mah. Turgut Özal Bulv. > Gardenya 5 Plaza K:6 Ataşehir > 34758 İSTANBUL > > Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 > www.evam.com.tr > <http://www.evam.com> > -- Best regards, Andrey V. Mashenkov |
Actually, this should work this way out of the box, as long as the same
affinity function is configured for all caches (that's true for default settings). Andrey, am I missing something? -Val On Thu, Feb 23, 2017 at 7:02 AM, Andrey Mashenkov < [hidden email]> wrote: > Hi Alper, > > You can implement you own affinityFunction to achieve this. > In AF you should implement 2 mappings: key to partition and partition to > node. > > First mapping looks trivial, but second doesn't. > Even if you will lucky to do it, there is no way to choose what node wil be > primary and what will be backup for a partition, > that can be an issue. > > > On Thu, Feb 23, 2017 at 10:44 AM, Alper Tekinalp <[hidden email]> wrote: > > > Hi all. > > > > Is it possible to configures affinities in a way that partition for same > > key will be on same node? So calling > > ignite.affinity(CACHE).mapKeyToNode(KEY).id() with same key for any > cache > > will return same node id. Is that possible with a configuration etc.? > > > > -- > > Alper Tekinalp > > > > Software Developer > > Evam Streaming Analytics > > > > Atatürk Mah. Turgut Özal Bulv. > > Gardenya 5 Plaza K:6 Ataşehir > > 34758 İSTANBUL > > > > Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 > > www.evam.com.tr > > <http://www.evam.com> > > > > > > -- > Best regards, > Andrey V. Mashenkov > |
Val,
Yes, with same affinity function entries with same key should be saved in same nodes. As far as I know, primary node is assinged automatically by Ignite. And I'm not sure that there is a guarantee that 2 entries from different caches with same key will have same primary and backup nodes. So, get operation for 1-st key can be local while get() for 2-nd key will be remote. On Thu, Feb 23, 2017 at 6:49 PM, Valentin Kulichenko < [hidden email]> wrote: > Actually, this should work this way out of the box, as long as the same > affinity function is configured for all caches (that's true for default > settings). > > Andrey, am I missing something? > > -Val > > On Thu, Feb 23, 2017 at 7:02 AM, Andrey Mashenkov < > [hidden email]> wrote: > > > Hi Alper, > > > > You can implement you own affinityFunction to achieve this. > > In AF you should implement 2 mappings: key to partition and partition to > > node. > > > > First mapping looks trivial, but second doesn't. > > Even if you will lucky to do it, there is no way to choose what node wil > be > > primary and what will be backup for a partition, > > that can be an issue. > > > > > > On Thu, Feb 23, 2017 at 10:44 AM, Alper Tekinalp <[hidden email]> wrote: > > > > > Hi all. > > > > > > Is it possible to configures affinities in a way that partition for > same > > > key will be on same node? So calling > > > ignite.affinity(CACHE).mapKeyToNode(KEY).id() with same key for any > > cache > > > will return same node id. Is that possible with a configuration etc.? > > > > > > -- > > > Alper Tekinalp > > > > > > Software Developer > > > Evam Streaming Analytics > > > > > > Atatürk Mah. Turgut Özal Bulv. > > > Gardenya 5 Plaza K:6 Ataşehir > > > 34758 İSTANBUL > > > > > > Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 > > > www.evam.com.tr > > > <http://www.evam.com> > > > > > > > > > > > -- > > Best regards, > > Andrey V. Mashenkov > > > -- Best regards, Andrey V. Mashenkov |
If you use the same (or default) configuration for the affinity, then the
same key in different caches will always end up on the same node. This is guaranteed. D. On Thu, Feb 23, 2017 at 8:09 AM, Andrey Mashenkov < [hidden email]> wrote: > Val, > > Yes, with same affinity function entries with same key should be saved in > same nodes. > As far as I know, primary node is assinged automatically by Ignite. And I'm > not sure that > there is a guarantee that 2 entries from different caches with same key > will have same primary and backup nodes. > So, get operation for 1-st key can be local while get() for 2-nd key will > be remote. > > > On Thu, Feb 23, 2017 at 6:49 PM, Valentin Kulichenko < > [hidden email]> wrote: > > > Actually, this should work this way out of the box, as long as the same > > affinity function is configured for all caches (that's true for default > > settings). > > > > Andrey, am I missing something? > > > > -Val > > > > On Thu, Feb 23, 2017 at 7:02 AM, Andrey Mashenkov < > > [hidden email]> wrote: > > > > > Hi Alper, > > > > > > You can implement you own affinityFunction to achieve this. > > > In AF you should implement 2 mappings: key to partition and partition > to > > > node. > > > > > > First mapping looks trivial, but second doesn't. > > > Even if you will lucky to do it, there is no way to choose what node > wil > > be > > > primary and what will be backup for a partition, > > > that can be an issue. > > > > > > > > > On Thu, Feb 23, 2017 at 10:44 AM, Alper Tekinalp <[hidden email]> > wrote: > > > > > > > Hi all. > > > > > > > > Is it possible to configures affinities in a way that partition for > > same > > > > key will be on same node? So calling > > > > ignite.affinity(CACHE).mapKeyToNode(KEY).id() with same key for any > > > cache > > > > will return same node id. Is that possible with a configuration etc.? > > > > > > > > -- > > > > Alper Tekinalp > > > > > > > > Software Developer > > > > Evam Streaming Analytics > > > > > > > > Atatürk Mah. Turgut Özal Bulv. > > > > Gardenya 5 Plaza K:6 Ataşehir > > > > 34758 İSTANBUL > > > > > > > > Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 > > > > www.evam.com.tr > > > > <http://www.evam.com> > > > > > > > > > > > > > > > > -- > > > Best regards, > > > Andrey V. Mashenkov > > > > > > > > > -- > Best regards, > Andrey V. Mashenkov > |
Hi.
Thanks for your comments. Let me investigate the issue deeper. Regards. On Thu, Feb 23, 2017 at 11:00 PM, Dmitriy Setrakyan <[hidden email]> wrote: > If you use the same (or default) configuration for the affinity, then the > same key in different caches will always end up on the same node. This is > guaranteed. > > D. > > On Thu, Feb 23, 2017 at 8:09 AM, Andrey Mashenkov < > [hidden email]> wrote: > >> Val, >> >> Yes, with same affinity function entries with same key should be saved in >> same nodes. >> As far as I know, primary node is assinged automatically by Ignite. And >> I'm >> not sure that >> there is a guarantee that 2 entries from different caches with same key >> will have same primary and backup nodes. >> So, get operation for 1-st key can be local while get() for 2-nd key will >> be remote. >> >> >> On Thu, Feb 23, 2017 at 6:49 PM, Valentin Kulichenko < >> [hidden email]> wrote: >> >> > Actually, this should work this way out of the box, as long as the same >> > affinity function is configured for all caches (that's true for default >> > settings). >> > >> > Andrey, am I missing something? >> > >> > -Val >> > >> > On Thu, Feb 23, 2017 at 7:02 AM, Andrey Mashenkov < >> > [hidden email]> wrote: >> > >> > > Hi Alper, >> > > >> > > You can implement you own affinityFunction to achieve this. >> > > In AF you should implement 2 mappings: key to partition and partition >> to >> > > node. >> > > >> > > First mapping looks trivial, but second doesn't. >> > > Even if you will lucky to do it, there is no way to choose what node >> wil >> > be >> > > primary and what will be backup for a partition, >> > > that can be an issue. >> > > >> > > >> > > On Thu, Feb 23, 2017 at 10:44 AM, Alper Tekinalp <[hidden email]> >> wrote: >> > > >> > > > Hi all. >> > > > >> > > > Is it possible to configures affinities in a way that partition for >> > same >> > > > key will be on same node? So calling >> > > > ignite.affinity(CACHE).mapKeyToNode(KEY).id() with same key for any >> > > cache >> > > > will return same node id. Is that possible with a configuration >> etc.? >> > > > >> > > > -- >> > > > Alper Tekinalp >> > > > >> > > > Software Developer >> > > > Evam Streaming Analytics >> > > > >> > > > Atatürk Mah. Turgut Özal Bulv. >> > > > Gardenya 5 Plaza K:6 Ataşehir >> > > > 34758 İSTANBUL >> > > > >> > > > Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 >> > > > www.evam.com.tr >> > > > <http://www.evam.com> >> > > > >> > > >> > > >> > > >> > > -- >> > > Best regards, >> > > Andrey V. Mashenkov >> > > >> > >> >> >> >> -- >> Best regards, >> Andrey V. Mashenkov >> > > -- Alper Tekinalp Software Developer Evam Streaming Analytics Atatürk Mah. Turgut Özal Bulv. Gardenya 5 Plaza K:6 Ataşehir 34758 İSTANBUL Tel: +90 216 455 01 53 Fax: +90 216 455 01 54 www.evam.com.tr <http://www.evam.com> |
Hi. As I investigated the issue occurs when different nodes creates the caches. Say I have 2 nodes node1 and node2 and 2 caches cache1 and cache2. If I create cache1 on node1 and create cache2 on node2 with same FairAffinityFunction with same partition size, keys can map different nodes on different caches. On Fri, Feb 24, 2017 at 9:37 AM, Alper Tekinalp <[hidden email]> wrote:
-- Alper Tekinalp Software Developer Evam Streaming Analytics Atatürk Mah. Turgut Özal Bulv. Gardenya 5 Plaza K:6 Ataşehir 34758 İSTANBUL Tel: <a href="tel:%2B90%20216%20455%2001%2053" value="+902164550153" target="_blank">+90 216 455 01 53 Fax: <a href="tel:%2B90%20216%20455%2001%2054" value="+902164550154" target="_blank">+90 216 455 01 54 www.evam.com.tr |
Crossposting to dev list. I've made a test. It looks ok for Rendevouz A, partition distribution for caches with similar settings and same Rendevouz AF keep same. But FairAF partition distribution can differed for two caches that one was created before and second - after rebalancing. So, collocation is not guarateed for same key and similar caches with same Fair AF. PFA repro. If it is a bug? On Tue, Feb 28, 2017 at 3:38 PM, Alper Tekinalp <[hidden email]> wrote:
Best regards, Andrey V. Mashenkov |
Adding back the dev list.
Folks, Are there any opinions on the problem discussed here? Do we really need FairAffinityFunction if it can't guarantee cross-cache collocation? -Val On Thu, Mar 2, 2017 at 2:41 PM, vkulichenko <[hidden email]> wrote: > Hi Alex, > > I see your point. Can you please outline its advantages vs rendezvous > function? > > In my view issue discussed here makes it pretty much useless in vast > majority of use cases, and very error-prone in all others. > > -Val > > > > -- > View this message in context: http://apache-ignite-users. > 70518.x6.nabble.com/Same-Affinity-For-Same-Key-On-All- > Caches-tp10829p11006.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. > |
What??? Unbelievable. It sounds like a design flaw to me. Any ideas how to fix?
— Denis > On Mar 2, 2017, at 2:43 PM, Valentin Kulichenko <[hidden email]> wrote: > > Adding back the dev list. > > Folks, > > Are there any opinions on the problem discussed here? Do we really need FairAffinityFunction if it can't guarantee cross-cache collocation? > > -Val > > On Thu, Mar 2, 2017 at 2:41 PM, vkulichenko <[hidden email] <mailto:[hidden email]>> wrote: > Hi Alex, > > I see your point. Can you please outline its advantages vs rendezvous > function? > > In my view issue discussed here makes it pretty much useless in vast > majority of use cases, and very error-prone in all others. > > -Val > > > > -- > View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Same-Affinity-For-Same-Key-On-All-Caches-tp10829p11006.html <http://apache-ignite-users.70518.x6.nabble.com/Same-Affinity-For-Same-Key-On-All-Caches-tp10829p11006.html> > Sent from the Apache Ignite Users mailing list archive at Nabble.com. > |
Free forum by Nabble | Edit this page |