Lev Kokotov
7dfe59a91a
Fix stats dymanic reload ( #87 )
2022-06-25 12:22:46 -07:00
Lev Kokotov
5bcd3bf9c3
Automatically reload config every seconds (disabled by default) ( #86 )
...
* Automatically reload config every seconds (disabld by default)
* add that
2022-06-25 11:46:20 -07:00
Lev Kokotov
f06f64119c
Fix panic & query router bug ( #85 )
...
* Fix query router bug
* Fix panic
2022-06-24 15:14:31 -07:00
Lev Kokotov
b93303eb83
Live reloading entire config and bug fixes ( #84 )
...
* Support reloading the entire config (including sharding logic) without restart.
* Fix bug incorrectly handing error reporting when the shard is set incorrectly via SET SHARD TO command.
selected wrong shard and the connection keep reporting fatal #80 .
* Fix total_received and avg_recv admin database statistics.
* Enabling the query parser by default.
* More tests.
2022-06-24 14:52:38 -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
37e3a86881
Pass application_name to server ( #73 )
...
* Pass application_name to server
* fmt
2022-06-03 00:15:50 -07:00
Lev Kokotov
61db13f614
Fix memory leak in client/server mapping ( #71 )
2022-05-18 16:24:03 -07:00
Lev Kokotov
fe32b5ef17
Reduce traffic on the stats channel ( #69 )
2022-05-17 13:05:25 -07:00
Lev Kokotov
54699222f8
Possible fix for clients waiting stat leak ( #68 )
2022-05-14 21:35:33 -07:00
Lev Kokotov
ccbca66e7a
Poorly behaved client fix ( #65 )
...
* Poorly behaved client fix
* yes officer
* fix tests
* no useless rescue
* Looks ok
2022-05-09 09:09:22 -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
b309ead58f
Handle SIGTERM. Add docker-compose.yml ( #59 )
...
* docker-compsoe
* remove statsd config
* readme
2022-03-08 17:18:48 -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
1e8fa110ae
Fix pgbouncerhero ( #54 )
2022-03-02 14:46:31 -08:00
Lev Kokotov
d4186b7815
More admin ( #53 )
...
* more admin
* more admin
* show lists
* tests
2022-03-01 22:49:43 -08:00
Lev Kokotov
aaeef69d59
Refactor admin ( #52 )
2022-03-01 08:47:19 -08:00
Lev Kokotov
b21e0f4a7e
admin SHOW DATABASES ( #51 )
...
* admin SHOW DATABASES
* test
* correct replica count
2022-02-28 17:22:28 -08:00
Lev Kokotov
eb1473060e
admin: SHOW CONFIG ( #50 )
...
* admin: SHOW CONFIG
* test
2022-02-28 08:14:39 -08:00
Lev Kokotov
26f75f8d5d
admin RELOAD ( #49 )
...
* admin RELOAD
* test
2022-02-27 10:21:24 -08:00
Lev Kokotov
99d65fc475
Check server versions on startup & refactor ( #48 )
...
* Refactor and check server parameters
* warnings
* fix validator
2022-02-26 11:01:52 -08:00
Lev Kokotov
206fdc9769
Fix some stats ( #47 )
...
* fix some stats
* use constant
* lint
2022-02-26 10:03:11 -08:00
Lev Kokotov
f74101cdfe
admin: SHOW STATS ( #46 )
...
* admin: show stats
* warning
* tests
* lint
* type mod
2022-02-25 18:20:15 -08:00
Lev Kokotov
6db51b4a11
Use Toxiproxy for failover testing ( #44 )
...
* Toxiproxy
* up-to-date config
* debug
* hm
* more
* mroe
* more
* hmm
* aha
* less logs
* cleaner
* hmm
* we test these now
* update readme
2022-02-24 20:55:19 -08:00
Lev Kokotov
a784883611
Allow to set shard and set sharding key without quotes ( #43 )
...
* Allow to set shard and set sharding key without quotes
* cover it
* dont look for these in the middle of another query
* friendly regex
* its own response to set shard key
2022-02-24 12:16:24 -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
b3c8ca4b8a
Another example of a sharding function ( #41 )
...
* Another example of a sharding function
* tests
2022-02-23 11:50:34 -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
af1716bcd7
Flush stats ( #38 )
...
* flush stats
* stats
* refactor
2022-02-22 18:10:30 -08:00
Lev Kokotov
a6fc935040
Can pass config path as argument ( #36 )
...
* show better errors for config parsing
* lint
2022-02-21 20:41:32 -08:00
Lev Kokotov
f21a3d8d8c
Add server login stat; refactor for better naming ( #34 )
2022-02-21 17:28:50 -08:00
Lev Kokotov
86941d62e4
Reset query router setting to default ( #32 )
2022-02-21 00:00:50 -08:00
Lev Kokotov
44b5e7eeee
use logger lib; minor refactor; sv_* stats ( #29 )
2022-02-20 22:47:08 -08:00
Lev Kokotov
108f5715c0
License as MIT ( #28 )
...
* License as MIT
* license
* s
2022-02-20 13:49:30 -08:00
Lev Kokotov
3b795464a8
Fix client states reporting ( #27 )
...
* Fix client states reporting
* clean
2022-02-20 12:40:09 -08:00
Lev Kokotov
d4c1fc87ee
Reloadable config ( #26 )
...
* Reloadable config
* readme
* live config reload
* test matrix
2022-02-19 13:57:35 -08:00
Lev Kokotov
a556ec1c43
More query router commands; settings last until changed again; docs ( #25 )
...
* readme
* touch up docs
* stuff
* refactor query router
* remove unused
* less verbose
* docs
* no link
* method rename
2022-02-19 08:57:24 -08:00
Lev Kokotov
bbacb9cf01
Explicit shard selection; Rails tests ( #24 )
...
* Explicit shard selection; Rails tests
* try running ruby tests
* try without lockfile
* aha
* ok
2022-02-18 09:43:07 -08:00
Lev Kokotov
aa796289bf
Query parser 3.0 ( #23 )
...
* Starting query parsing
* Query parser
* working config
* disable by default
* fix tsets
* introducing log crate; test for query router; comments
* typo
* fixes for banning
* added test for prepared stmt
2022-02-18 07:10:18 -08:00
Lev Kokotov
4c8a3987fe
Refactor query routing into its own module ( #22 )
...
* Refactor query routing into its own module
* commments; tests; dead code
* error message
* safer startup
* hm
* dont have to be public
* wow
* fix ci
* ok
* nl
* no more silent errors
2022-02-16 22:52:11 -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
9c521f07c1
parse startup client parameters ( #16 )
2022-02-14 05:11:53 -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
20ceb729a0
print session duration; connect to all servers when validating ( #11 )
2022-02-12 09:24:24 -08:00
Lev Kokotov
526b9eb666
Pass real server info to the client ( #10 )
2022-02-11 22:19:49 -08:00
Lev Kokotov
0d369ab90a
add default server role; bug fix
2022-02-11 11:19:40 -08:00