-
Notifications
You must be signed in to change notification settings - Fork 16
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
Refactor server and proxy and remove gnet/v2
#344
Merged
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
4 tasks
186a038
to
07d9fa1
Compare
07d9fa1
to
f89cfde
Compare
Remove unused dependencies (gnet/v2 and others)
2286c31
to
2d2fb86
Compare
…e start/stop Close channel after send Close listener gracefully and raise error if something happened Use for/select for stopping long-running goroutines gracefully
…d plugin registry Check if the client is actually connected before closing it Stop scheduler before clearing the jobs (safer)
e904023
to
8013cb9
Compare
Check if listener is not nil before closing it
6d1e6db
to
91998ea
Compare
7b7dc3a
to
f377c83
Compare
Add new make target for finding race conditions in tests
This was referenced Oct 16, 2023
gnet/v2
gnet/v2
This was referenced Oct 17, 2023
This was referenced Oct 18, 2023
3 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Ticket(s)
Description
In this PR I removed the
gnet/v2
library that was being used to serve incoming client connections and replaced it with thenet
from the Go stdlib. I made many improvements, done many fixes and found and fixed many race conditions in the code.Small timing benchmark with
psql
Running
psql
with timing enabled and querying a table with 158369 records across 17 columns transfers 67736218 bytes (~67.73 MB) of data from PostgreSQL to thepsql
. This amount of data takes 292.501 ms to be received bypsql
when connecting to PostgreSQL directly, which increases by ~41% to 412.965 ms with the new changes in the current branch whenpsql
connects through GatewayD with no plugins. There is a ~91% reduction from 679.758 ms with the latest version on themain
branch.Related PRs
Development Checklist
Legal Checklist