-
Notifications
You must be signed in to change notification settings - Fork 455
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
M3DB client asynchronous replication #1859
Conversation
Hey this is cool, adding some comments now. |
Codecov Report
@@ Coverage Diff @@
## master #1859 +/- ##
=======================================
Coverage 62.2% 62.2%
=======================================
Files 1104 1104
Lines 104725 104725
=======================================
Hits 65160 65160
Misses 35318 35318
Partials 4247 4247
Continue to review full report at Codecov.
|
94c1ece
to
eb7e7ec
Compare
476cee4
to
90eeb5d
Compare
444b2c5
to
ca16e6f
Compare
func (s replicatedSession) Close() error { | ||
err := s.session.Close() | ||
for _, as := range s.asyncSessions { | ||
as.Close() |
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.
Probably want to collect the errors here. (so you know if closing session fails, shouldn't matter too much on shutdown whether an error is returned in the case of an error with a real async session)
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.
Let me know if logging is enough, not sure if there's an idiomatic way to handle multiple errors without early abort. Capture and concat better?
Just wondering what the need is for ReplicationOptions, etc. Is there a way it could just be added to the existing Options/AdminOptions? It would help avoid breaking compat on the call to |
f8c4411
to
6e00f60
Compare
environment: | ||
- M3DB_HOST_ID=cluster_a_m3db_local_2 | ||
volumes: | ||
- "./m3dbnode-cluster-a.yml:/etc/m3dbnode/m3dbnode.yml" |
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.
🔥 multi-cluster test ftw
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.
LGTM other than minor nits.
What this PR does / why we need it:
Adds support for asynchronously replicating client writes to multiple M3DB clusters.