Skip to content
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

Feature Request: Shared/exposed scoring info across different client types #1060

Open
henryptung opened this issue Nov 19, 2020 · 0 comments

Comments

@henryptung
Copy link

Currently, Dialogue exposes different ways to construct clients (e.g. BalancedNodeSelectionStrategyChannel via ReloadingFactory, StickyEndpointChannels via StickyChannelFactory). However, each of these constructs and maintains independent BalancedScoreTrackers, making them not share useful information (e.g. "is this node down"). For example, if:

  • Horizon uses ReloadingFactory to make clients for normal query operations, with failover
  • Horizon uses StickyChannelFactory for view computations, since they're slower than normal timeouts and we want to make them polling/async
  • Horizon uses PerHostChannelFactory to perform writes (since writes must be forwarded to all mirrors), but still wants to know which nodes are obviously dead (to avoid unnecessary timeouts)

At present, none of these use cases would be able to share liveness/scoring information with each other, since they all maintain separate score trackers. This isn't ideal, since we can't assume a distribution of requests across the different client types which is in any way uniform.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant