This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Wake up transaction queue when remote server comes back online #6706
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This will be used to retry outbound transactions to a remote server if we think it might have come back up.
erikjohnston
force-pushed
the
erikj/add_remote_server_up
branch
from
January 15, 2020 16:18
a32aa3b
to
4474b8f
Compare
erikjohnston
force-pushed
the
erikj/add_remote_server_up
branch
from
January 15, 2020 16:22
4474b8f
to
1bd1d4d
Compare
richvdh
approved these changes
Jan 16, 2020
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.
looks generally plausible. Can you add the new command to docs/tcp_replication.md
please
"""Called when we want to retry sending transactions to a remote. | ||
|
||
This is mainly useful if the remote server has been down and we think it | ||
migtht have come back. |
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.
migtht
Comment on lines
498
to
501
if destination == self.server_name: | ||
logger.info("Not waking up ourselves") | ||
return | ||
|
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.
it feels like either we should consider this happening as a sign of badness elsewhere (and log it at more than info), or decide that it's not worth worrying about at all. The halfway house of logging at info seems odd.
babolivier
pushed a commit
that referenced
this pull request
Sep 1, 2021
* commit 'a8a50f5b5': Wake up transaction queue when remote server comes back online (#6706)
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a bit fiddly to do as we might only notice a remote is back up on a worker, and the federation sending may or may not be happening on another worker.
Basically:
REMOTE_SERVER_UP
replication command to workers.REMOTE_SERVER_UP
to master, which then triggers the notifier to be called on master too (and in turn causes it to send the command to the the workers)(Note: this means that the original worker will get a
REMOTE_SERVER_UP
echoed back to it, but that is not actually problematic so long as we don't then trigger anotherREMOTE_SERVER_UP
. This is why the notifier doesn't poke replication clients on workers)