-
Notifications
You must be signed in to change notification settings - Fork 18
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
mostafa
force-pushed
the
refactor-server-and-proxy
branch
from
October 7, 2023 09:36
186a038
to
07d9fa1
Compare
mostafa
force-pushed
the
refactor-server-and-proxy
branch
from
October 7, 2023 22:37
07d9fa1
to
f89cfde
Compare
Remove unused dependencies (gnet/v2 and others)
mostafa
force-pushed
the
refactor-server-and-proxy
branch
15 times, most recently
from
October 13, 2023 10:19
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)
mostafa
force-pushed
the
refactor-server-and-proxy
branch
from
October 15, 2023 12:07
e904023
to
8013cb9
Compare
Check if listener is not nil before closing it
mostafa
force-pushed
the
refactor-server-and-proxy
branch
from
October 15, 2023 15:07
6d1e6db
to
91998ea
Compare
mostafa
force-pushed
the
refactor-server-and-proxy
branch
from
October 15, 2023 15:58
7b7dc3a
to
f377c83
Compare
Add new make target for finding race conditions in tests
This was referenced Oct 16, 2023
mostafa
changed the title
WIP: refactor server and proxy and remove
Refactor server and proxy and remove Oct 17, 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