| Age | Commit message (Collapse) | Author |
|
|
|
Use more braces in places where statement boundaries are
not obvious at glance.
|
|
|
|
|
|
query the database's pg_shadow table for user information,
instead of using a local userlist.txt. Brings transparent support
for Postgres 9.0+ which no longer has a compatible file format.
Tested with trust and md5 auth_types only.
|
|
match up waiting connections with tested/used until we run out.
launches new connection if there are more waiting than could be
fulfilled by refreshing current connections. this situation can
happen if you have high churn on client connections (i.e. with
transaction pooling), such that there is *always* at least one
connection in sv_tested or sv_used.
|
|
Conflicts:
src/janitor.c
Instead not flagging paused auto-db as inactive,
I moved the check to auto-db cleanup.
|
|
|
|
|
|
|
|
|
|
Old cleanup code was mixing up databases and pools
- as soon as one empty pool was found, the database
was tagged as 'idle', potentially later killing database
with active users.
Change the code to tag database as active when active
pool is found and later checking for inactive databases.
Reported-By: Hubert Depesz Lubaczewski
|
|
|
|
|
|
When rebooting, then pool->welcome_msg_ready=0 does not mean
that ->waiting_client_list will contain only new connections.
|
|
|
|
Removes fixed-length limit from parameter values.
|
|
|
|
|
|
|
|
Do it together with fast-fail disconnect. When kept separately
it can launch even if there are no new clients coming.
This causes problem with permanently dead dbs/users, as the
retry will not stop if all clients are gone.
|
|
|
|
That allows to avoid unnecessary delays in hopeless situations.
|
|
If a query spends more than query_wait_timeout seconds waiting
it is disconnected. This prevents unresponsive servers from
wasting resources.
Patch by Martin Pihlak
|
|
Otherwise the clients stay waiting infinitely, unless there is query_timeout set.
This only applies for servers that have never been up. If server has
been connected once, the query_timeout is only thing that kills clients,
as clients are let freely log in after first connect to server.
|
|
Otherwise some timeout may activate and close connection
that is already reported to other side;
|
|
Clarification:
for f in */*.[ch]; do echo -e "%s;and distribute;and/or distribute;\nwq" | ed "$f"; done
Details at: http://en.wikipedia.org/wiki/ISC_licence
|
|
- avoid NULL values for config variables
- cf_shutdown=2 means fast shutdown
- export cf_config_file
|
|
Allow to increased pool size in case main pool size
cannot serve clients anymore.
This allows to continue use of small pool_size, which
smooths small peaks, while also handling large peaks.
(Eg, one bouncer server down, others need to handle load.)
|
|
Activated by "*" entry in [databases] section.
Patch by David Galoyan
|
|
|
|
|
|
Specifies a query to be executed after connection is established.
Original patch by Teodor Sigaev, applied with minor modifications
|
|
|
|
|
|
|
|
|
|
- pgsocket: keep open sbufs in justfree lists, retry close later
- pooler: keep track socket states, retry in per-loop main function
|
|
|
|
|
|
|
|
|
|
try to survive errors delicately, by dropping connection where possible.
Thats not yet possible for event_del() and evtimer_add(), exit immidiately then.
|
|
requested by Simon Riggs
|
|
|
|
Thanks to David Fetter
|
|
|
|
|
|
Patch by Robert Gogolok.
|
|
|