Commit Graph

184 Commits

Author SHA1 Message Date
reshke 52b0abb647 fix infinte loop + add signals tests 2020-08-10 13:39:09 +05:00
reshke f030093484 use SO_REUSEPORT to graceful shutdown 2020-08-10 13:39:09 +05:00
kirill reshke b1c7fac971
Fix incomplete odyssey err logging (#195) 2020-07-17 14:17:29 +05:00
Andrey Borodin c3231634c4 Protection from broken sync during packet pipelining 2020-07-09 23:39:50 +05:00
kirill reshke a1be256a08
fix memory leaks (#191) 2020-07-09 10:19:34 +05:00
reshke 6c7dea79cc fix status and remove zconf.h 2020-07-08 22:29:48 +05:00
kirill reshke 66c1c63751
odyssey erros stats (#187) 2020-07-08 11:26:17 +05:00
kirill reshke 05b536c458
odyssey: fix modules API + make headers better (#168) 2020-06-15 13:26:58 +05:00
lowgear 441054d019
fix int64 format sequence and string precision argument type (#173) 2020-06-14 21:44:18 +05:00
kirill reshke 41a5449969
odyssey modules (#156) 2020-06-09 14:19:11 +05:00
lowgear ea79d800d2
added style check to travis (#158)
* added style check to travis

* fixed style

* missing change

* check style first

* no excludes, use certain clang-format version

* install clang-format-9

* added submodule

* fix exclude
2020-06-04 22:35:44 +05:00
Andrey Borodin 5c9357f4fe
Improve frequent user error messages (#153) 2020-06-04 15:25:28 +05:00
Georgy Rylov c25c5bd050
Applying clang-format with saving indentations (#140)
* applying clang-format with saving indentations

* rebase
2020-04-02 16:00:56 +05:00
kirill reshke c35176867e
add peername to erros log (#141)
Co-authored-by: reshke <Kirill Reshke>
2020-04-02 12:31:19 +05:00
Andrey Borodin 64b1393948
Fix error recovery logging in od_frontend() (#133) 2020-03-12 13:44:55 +05:00
Andrey Borodin 1b6f168c3d
Do not use abort() in frontend code (#131)
* Do not use abort() in frontend code

* Do not abort() on known but erroneous statuses
2020-03-10 15:22:26 +05:00
Andrey Borodin c0a28f0d15
Add host even if application name not passed (#123) 2020-02-19 12:00:44 +05:00
Andrey Borodin b2d75b0b3c
Coverity scan results (#119)
A lot of small fixes for small bugs of various severity
2020-02-18 18:05:02 +05:00
Andrey b0317d754f Remove superflous logs
This reverts commit 958f1c53d1.
2020-02-10 11:19:42 +05:00
Andrey dd21f6fb66 Temporary add some more logs 2020-02-10 11:19:42 +05:00
Andrey c39e8961c7 Log unsucessfull server resets 2020-02-10 11:19:42 +05:00
Andrey b358a59149 Enhance disconnect debug 2020-02-10 11:19:42 +05:00
efimkin 60d7229cdc Enhance settings for replication support (#107) 2020-01-27 18:01:53 +05:00
Andrey 8496cde80a Implement server_max_routing restriction 2020-01-23 11:35:47 +05:00
Andrey 0bf792c4af Add server_login_retry timeout 2020-01-23 11:35:47 +05:00
Andrey e773dbb260 Add application_name_add_host setting 2020-01-20 11:43:16 +05:00
Andrey 303dc0af3b Remove useless logging of startup errors 2020-01-17 11:04:29 +05:00
Andrey Borodin 9adc6493f6 Fix query logging in simple protocol mode 2020-01-16 15:06:35 +05:00
Andrey Borodin 465577dca0 Restrict number of startup sttempts 2019-12-27 17:22:32 +05:00
Andrey Borodin 887e4aa2d8 Decline GSS API request 2019-12-27 17:05:19 +05:00
Andrey Borodin eb7299748d Implement login timeout 2019-12-02 18:28:39 +05:00
Andrey Borodin 298cdca895
Implement client_max_routing (#72) 2019-10-15 17:15:37 +03:00
Andrey Borodin d5ba841106 Limit global max_clients before doing tls handshake 2019-10-11 13:33:28 +05:00
Dmitry Simonenko 6f018e48e5 odyssey: rework connection retry logic for too many connections case 2019-08-10 21:03:41 +03:00
Dmitry Simonenko 1dc7f58c73 odyssey: fix warning and misc fixes 2019-08-08 17:39:13 +03:00
Andrey Borodin ee02f48c65 Use 53300 for too many connections 2019-07-31 17:47:54 +05:00
Andrey Borodin 3ef85db4f4 Use proper const for 'too many connections' 2019-07-26 11:11:07 +03:00
Dmitry Simonenko 19dbc5e76f odyssey: minor fixes 2019-07-06 17:40:48 +03:00
Andrey Borodin c7c075fb53 Fix to error detection code in check for too many connections 2019-06-28 12:01:21 +05:00
Andrey Borodin 6a3c1f78f7 Implement router retry timeout 2019-06-27 17:24:44 +05:00
Andrey Borodin d9b829c901 Add route lock during server connection retry 2019-06-27 17:01:05 +05:00
Andrey Borodin 8dff1aabef Wait for server connection on "too many connections" if pool_timeout!=0
This reflects PgBouncer behavior on query_wait_timeout and should help
replace cascades of PgBouncers. Currently if wave of incoming
connections is coordinated casecade of PgBouncers will try smooth peak
with at least 2 seconds wait, while Odyssey just resest every
connection with is over role connection limit.
2019-06-27 16:43:26 +05:00
Andrey Borodin f8f8db1ac5 Add logging for start, stop and client error 2019-06-17 11:35:21 +05:00
Dmitry Simonenko a3f55f4f21 odyssey: rework packet header validation 2019-06-03 13:12:50 +03:00
Andrey Borodin 80484c3337 Fix route connection limit handling 2019-05-21 17:43:46 +05:00
Andrey Borodin c4e2cedc35 Support of replication protocol 2019-04-12 15:13:50 +05:00
Dmitry Simonenko 859401f6dc odyssey: handle relay packet SKIP during for full-packet/deploy 2019-04-07 18:35:31 +03:00
Dmitry Simonenko f0374cb4f4 odyssey: fix server attach path on stray io event 2019-02-10 13:59:48 +03:00
Andrey Borodin b7eeeed27a Wait for read signals twice
This is a temporary solution to ensure server connection is not reattached to
the client in case after backend is ready for query in transaction pooling
mode.
2019-02-07 17:41:09 +03:00
Andrey Borodin 76ec3581a1
Use pg_lrand48 for portability (#48) 2019-01-30 14:30:31 +05:00