Skip to content
This repository has been archived by the owner on Feb 18, 2021. It is now read-only.

membershipChanged -> ringChanged #19

Open
kriskowal opened this issue Sep 29, 2015 · 7 comments
Open

membershipChanged -> ringChanged #19

kriskowal opened this issue Sep 29, 2015 · 7 comments

Comments

@kriskowal
Copy link
Contributor

Evidently, ringChanged is a subset of membershipChanged (membership only grows), and affinity would only change in response to a ringChanged event. We should carefully consider using ringChanged instead to avoid unnecessary affinity updates in service proxy.

@jwolski
Copy link

jwolski commented Sep 29, 2015

I support this issue

@Raynos
Copy link
Contributor

Raynos commented Sep 30, 2015

👍

As mentioned it would be nice to get stats into how often a ring change happens and what "damage" or side effect it causes on the hyperbahn network.

@jwolski
Copy link

jwolski commented Sep 30, 2015

@Raynos Ringpop has got ring.server-added and ring.server-removed metrics (counts) which are emitted every time the ring rebalances (in either direction more/less capacity). By "damage" I'm guessing you mean total percentage of ring rebalancing? If so, we can do that too. Though it's not currently there.

@Raynos
Copy link
Contributor

Raynos commented Sep 30, 2015

@jwolski By damage I meant measuring impact.

  • Amount of socket thrashing in hyperbahn exit workers
  • Amount of Declined Error Frames caused to applications.
  • Increased latency due to retries

etc. it would be good for us to understand how much work the hyperbahn ring has to do and how it impacts traffic each time a ring change occurs.

These are really hyperbahn specific metrics and are not a ringpop concern or issue.

@jwolski
Copy link

jwolski commented Sep 30, 2015

@Raynos 👍

@jcorbin
Copy link
Contributor

jcorbin commented Nov 6, 2015

@jwolski , since I've taken over this can of worms, I'd like to understand the difference between the "membershipChanged" and "ringChanged" events:

  • it's unclear to me from the above: which one fires more often? (i.e. it sounds like one of them is abstracting over details, what are those details)
  • we're currently lacking a good test for our current "membershipChanged" semantics, does switching to "ringChanged" make it easier, harder, or no different to produce in a test?

@jcorbin jcorbin assigned jcorbin and rf and unassigned jcorbin Nov 6, 2015
@jcorbin
Copy link
Contributor

jcorbin commented Nov 9, 2015

@rf, I started trying to write a membershipChanged test here: #116

@eklitzke eklitzke unassigned rf Dec 15, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants