zainkabani
3a729bb75b
Minor refactor for configs ( #172 )
...
* Changes shard struct to use vector of ServerConfig
* Adds to query router
* Change client disconnect with error message to warn instead of debug
* Add warning logs for clean up actions
2022-09-22 10:07:02 -07:00
zainkabani
8c09ab6c20
Export pgcat objects in lib ( #169 )
...
* Export pgcat objects in lib
* fmt
2022-09-20 18:47:32 -07:00
Mostafa Abdelraouf
4ae1bc8d32
Add SHOW CLIENTS / SHOW SERVERS + Stats refactor and tests ( #159 )
...
* wip
* Main Thread Panic when swarmed with clients
* fix
* fix
* 1024
* fix
* remove test
* Add SHOW CLIENTS
* revert
* fmt
* Refactor + tests
* fmt
* add test
* Add SHOW SERVERS + Make PR unreviewable
* prometheus
* add state to clients and servers
* fmt
* Add application_name to server stats
* Add tests for waiting clients
* Docs
* remove comment
* comments
* typo
* cleanup
* CI
2022-09-14 11:20:41 -04:00
Mostafa Abdelraouf
9514b3b2d1
Clean connection state up after protocol named prepared statement ( #163 )
...
* Clean connection state up after protocol named prepared statement
* Avoid cloning + add test
* fmt
2022-09-07 20:37:17 -07:00
Mostafa Abdelraouf
23a642f4a4
Send DISCARD ALL even if client is not in transaction ( #152 )
...
* Send DISCARD ALL even if client is not in transaction
* fmt
* Added tests + avoided sending extra discard all
* Adds set name logic to beginning of handle client
* fmt
* refactor dead code handling
* Refactor reading command tag
* remove unnecessary trim
* Removing debugging statement
* typo
* typo{
* documentation
* edit text
* un-unwrap
* run ci
* run ci
Co-authored-by: Zain Kabani <zain.kabani@instacart.com >
2022-09-01 20:06:55 -07:00
Mostafa Abdelraouf
36339bd96f
Log Address information in connection create/drop ( #154 )
...
* Log Address information in connection create/drop
* run ci
2022-09-01 11:16:22 -07:00
Lev Kokotov
9d84d6f131
Graceful shutdown and refactor ( #144 )
...
* Graceful shutdown and refactor
* ok
* _Graceful_ shutdown
* Remove hardcoded setting
* clean up
* end
* timeout
* hmm
* hmm!
* bash
* bash
* hmm
* maybe maybe
* Adds tests and move non-admin connection rejection to startup (#145 )
* Move error response
* Adds tests and removes unused variable
* Adds debug log
Co-authored-by: zainkabani <77307340+zainkabani@users.noreply.github.com >
2022-08-25 06:40:56 -07:00
zainkabani
f963b12821
Health check delay ( #118 )
...
* initial commit of server check delay implementation
* fmt
* spelling
* Update name to last_healthcheck and some comments
* Moved server tested stat to after require_healthcheck check
* Make health check delay configurable
* Rename to last_activity
* Fix typo
* Add debug log for healthcheck
* Add address to debug log
2022-08-11 14:42:40 -07:00
Mostafa Abdelraouf
2ae4b438e3
Add support for multi-database / multi-user pools ( #96 )
...
* Add support for multi-database / multi-user pools
* Nothing
* cargo fmt
* CI
* remove test users
* rename pool
* Update tests to use admin user/pass
* more fixes
* Revert bad change
* Use PGDATABASE env var
* send server info in case of admin
2022-07-27 19:47:55 -07:00
Lev Kokotov
d3310a62c2
Client md5 auth and clean up scram ( #77 )
...
* client md5 auth and clean up scram
* add pw
* add user
* add user
* log
2022-06-20 06:15:54 -07:00
Lev Kokotov
d412238f47
Implement SCRAM-SHA-256 for server authentication (PG14) ( #76 )
...
* Implement SCRAM-SHA-256
* test it
* trace
* move to community for auth
* hmm
2022-06-18 18:36:00 -07:00
Lev Kokotov
bac4e1f52c
Only set application_name if it's different ( #74 )
...
* Only set application_name if it's different
* keep server named pgcat until something else changes
2022-06-05 09:48:06 -07:00
Lev Kokotov
df85139281
Update README. Comments. Version bump. ( #60 )
...
* update readme
* comments
* just a version bump
2022-03-10 01:33:29 -08:00
Lev Kokotov
341ebf4123
docs and remove Option ( #58 )
...
* docs and remove Option
* lint
2022-03-07 23:05:40 -08:00
Lev Kokotov
35828a0a8c
Per-shard statistics ( #57 )
...
* per shard stats
* aight
* cleaner
* fix show lists
* comments
* more friendly
* case-insensitive
* test all shards
* ok
* HUH?
2022-03-04 17:04:27 -08:00
Lev Kokotov
5972b6fa52
Switch to parking_lot RwLock & Mutex. Use trace! for protocol instead of debug! ( #42 )
...
* RwLock & parking_lot::Mutex
* upgrade to trace
2022-02-24 08:44:41 -08:00
Lev Kokotov
dce72ba262
Add debug logging ( #39 )
...
* Add debug for easier debugging
* fmt
* a couple more messages
2022-02-22 19:26:08 -08:00
Lev Kokotov
44b5e7eeee
use logger lib; minor refactor; sv_* stats ( #29 )
2022-02-20 22:47:08 -08:00
Lev Kokotov
7b0ceefb96
Constants, comments, CI fixes, dead code clean-up ( #21 )
...
* constants
* server.rs docs
* client.rs comments
* dead code; comments
* comment
* query cancellation comments
* remove unnecessary cast
* move db setup up one step
* query cancellation test
* new line; good night
2022-02-15 22:45:45 -08:00
Lev Kokotov
05b4cccb97
More statistics ( #20 )
...
* cleaner stats
* remove shard selection there
2022-02-15 08:18:01 -08:00
Lev Kokotov
8e5e28a139
Some stats ( #19 )
2022-02-14 10:00:55 -08:00
Lev Kokotov
4aa9c3d3c7
Cleaner shutdown ( #12 )
...
* Cleaner shutdown
* mark as bad just in case although im pretty sure we dont need it
* server session duration
* test clean shutdown
* ah
2022-02-12 10:16:05 -08:00
Lev Kokotov
28c70d47b6
#1 Primary/replica selection
2022-02-09 20:02:20 -08:00
Lev Kokotov
c27a7d30dc
config support; started more sharding
2022-02-08 09:25:59 -08:00
Lev Kokotov
ef2aab3c61
more user friendly server error msg
2022-02-07 11:20:29 -08:00
Lev Kokotov
7d895b9e37
buffer up to a limit
2022-02-05 14:38:41 -08:00
Lev Kokotov
8479c74354
proper failover
2022-02-05 13:15:53 -08:00
Lev Kokotov
a6574acbc3
replica pool & banlist
2022-02-05 10:02:13 -08:00
Lev Kokotov
52c4cac175
comments
2022-02-04 16:08:18 -08:00
Lev Kokotov
fbc3777769
"query cancellation"
2022-02-04 16:01:35 -08:00
Lev Kokotov
8e88c47f76
started query cancellation
2022-02-04 09:28:52 -08:00
Lev Kokotov
381f06d46f
COPY OUT support
2022-02-04 08:26:50 -08:00
Lev Kokotov
77507e7343
copy support
2022-02-04 08:06:45 -08:00
Lev Kokotov
05250d9374
fix
2022-02-03 18:13:36 -08:00
Lev Kokotov
baf2852f03
prep for query cancellation
2022-02-03 17:48:37 -08:00
Lev Kokotov
4146245f15
dont drop server on syntax error
2022-02-03 17:36:35 -08:00
Lev Kokotov
2114cb2a97
healthchecks!
2022-02-03 17:32:04 -08:00
Lev Kokotov
6deb7b1162
name servers & dont leave open servers with bad state
2022-02-03 17:06:19 -08:00
Lev Kokotov
e3ec5036d7
connection pool
2022-02-03 16:25:05 -08:00
Lev Kokotov
f921966e2b
extended
2022-02-03 15:33:26 -08:00
Lev Kokotov
c7c724d751
comment
2022-02-03 15:18:39 -08:00
Lev Kokotov
f4d647ce2f
it works!
2022-02-03 15:17:04 -08:00