-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
gazette: make Router synchronous and lazy, and clear Read header
Simplify Router by starting a Channel immediately, and instead emphasize RPC timeouts rather than connection timeouts. There are a variety of conditions where connection timeouts don't really work, such as when a server has bound its port but is not actively serving it. Currently this causes tonic to block indefinitely. Also, Channel embeds a reconnection behavior if the transport is broken, so it's already the case that Channels are connecting in the background and we should expect to see corresponding delays. So, have a single behavior for Channels: they start immediately but may have connection delay in the background. - Back out connection-readiness route selection in favor of random balancing. - Distinguish local vs non-local Channels: in the future, we should use this to implement selective compression over non-local Channels. Also, upon an error a Read stream must clear its ReadRequest Header. The rationale is that the current Header could point to a Gazette broker which has permanently stopped, and connections will time out repeatedly. Clearing the Header causes route discovery to restart using the base service address.
- Loading branch information
1 parent
e35d266
commit e0c6fb7
Showing
9 changed files
with
64 additions
and
106 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
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 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 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 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 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 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 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 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