Skip to content

Zone#GetEndpoints(): return endpoints in the specified order, not randomly🎲 #10389

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

Al2Klimov
Copy link
Member

ApiListener#RelayMessageOne() relays every given message to the first connected endpoint Zone#GetEndpoints() returns. Randomness in combination with bad luck can direct more traffic (from a particular network segment) to one master than the admin wants.

This change lets the Zone#endpoints order prefer one endpoint over the other.

ref/NC/820479

…domly

ApiListener#RelayMessageOne() relays every given message to the first connected endpoint Zone#GetEndpoints() returns. Randomness in combination with bad luck can direct more traffic (from a particular network segment) to one master than the admin wants.

This change lets the Zone#endpoints order prefer one endpoint over the other.
@Al2Klimov Al2Klimov added the area/distributed Distributed monitoring (master, satellites, clients) label Mar 25, 2025
@Al2Klimov Al2Klimov requested a review from lippserd March 25, 2025 12:26
@cla-bot cla-bot bot added the cla/signed label Mar 25, 2025
Copy link
Member

@lippserd lippserd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it makes sense to take the opportunity to introduce logging at info level, which should contain the following facts:

  • Which node in the cluster zone is sending events to the parent zone.
  • Which node in the parent zone receives these events.

If connectivity of nodes is interrupted and/or restored, which also results in a change in message routing, log messages should reflect this accordingly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/distributed Distributed monitoring (master, satellites, clients) cla/signed ref/NC
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants