postgresql/src/backend/tcop
Tom Lane ebfc56d3fb Handle impending sinval queue overflow by means of a separate signal
(SIGUSR1, which we have not been using recently) instead of piggybacking
on SIGUSR2-driven NOTIFY processing.  This has several good results:
the processing needed to drain the sinval queue is a lot less than the
processing needed to answer a NOTIFY; there's less contention since we
don't have a bunch of backends all trying to acquire exclusive lock on
pg_listener; backends that are sitting inside a transaction block can
still drain the queue, whereas NOTIFY processing can't run if there's
an open transaction block.  (This last is a fairly serious issue that
I don't think we ever recognized before --- with clients like JDBC that
tend to sit with open transaction blocks, the sinval queue draining
mechanism never really worked as intended, probably resulting in a lot
of useless cache-reset overhead.)  This is the last of several proposed
changes in response to Philip Warner's recent report of sinval-induced
performance problems.
2004-05-23 03:50:45 +00:00
..
Makefile $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
dest.c $Header: -> $PostgreSQL Changes ... 2003-11-29 19:52:15 +00:00
fastpath.c Complete TODO item: 2004-04-19 17:22:31 +00:00
postgres.c Handle impending sinval queue overflow by means of a separate signal 2004-05-23 03:50:45 +00:00
pquery.c Revise syntax-error reporting behavior to give pleasant results for 2004-03-21 22:29:11 +00:00
utility.c Refactor CheckDropPermissions() to move some initialization code for 2004-05-07 19:12:26 +00:00