-
Notifications
You must be signed in to change notification settings - Fork 453
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
[Query] Add multi-zonal capability to remote reads #1687
Conversation
// RemoteListenAddresses is the remote listen addresses to call for remote | ||
// coordinator calls. | ||
// RemoteZones are the configuration settings for remote coordinator zones. | ||
RemoteZones RemoteZones `yaml:"remoteZones"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: Can we call this just RemoteClusters
? Technically speaking they could be regions instead of zones (if deployed across a region), etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Second thought, maybe just call it Remotes Remotes 'yaml:"remotes"'
and have a type Remote struct
instead of type RemoteZone struct
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I gotta be honest and say I couldn't decide on a name for this so I went with RemoteZones
because I knew it would be contentious in the PR haha; remotes
sounds good
) (storage.Storage, error) { | ||
if len(remoteAddresses) == 0 { | ||
// No addresses; skip. | ||
return nil, nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, perhaps make this an error? This would be a very strange config to call "valid" and might end up with unintended mistakes in config that is hard to debug.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So this is a "valid" case, where act as a server to remote zones but are not connected as a client (maybe a case for setting up dedicated servers to host cross zone traffic or something like that)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good other than comments
Codecov Report
@@ Coverage Diff @@
## master #1687 +/- ##
========================================
- Coverage 71.9% 71.8% -0.1%
========================================
Files 970 970
Lines 81364 81324 -40
========================================
- Hits 58503 58456 -47
- Misses 19016 19028 +12
+ Partials 3845 3840 -5
Continue to review full report at Codecov.
|
What this PR does / why we need it:
Adds multi-zone capability to remote reads for Query
Special notes for your reviewer:
Does this PR introduce a user-facing and/or backwards incompatible change?:
Does this PR require updating code package or user-facing documentation?: