From 7095003cbef630fe29c2299cc819fd37c691d0b0 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Tue, 21 Jun 2011 22:32:30 -0400 Subject: Make deadlock_timeout PGC_SUSET rather than PGC_SIGHUP. This allows deadlock_timeout to be reduced for transactions that are particularly likely to be involved in a deadlock, thus detecting it more quickly. It is also potentially useful as a poor-man's deadlock priority mechanism: a transaction with a high deadlock_timeout is less likely to be chosen as the victim than one with a low deadlock_timeout. Since that could be used to game the system, we make this PGC_SUSET rather than PGC_USERSET. At some point, it might be worth thinking about a more explicit priority mechanism, since using this is far from fool-proof. But let's see whether there's enough use case to justify the additional work before we go down that route. Noah Misch, reviewed by Shigeru Hanada --- src/backend/utils/misc/guc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 1c6f197748..6e85cb5335 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -1532,8 +1532,8 @@ static struct config_int ConfigureNamesInt[] = }, { - /* This is PGC_SIGHUP so all backends have the same value. */ - {"deadlock_timeout", PGC_SIGHUP, LOCK_MANAGEMENT, + /* This is PGC_SUSET to prevent hiding from log_lock_waits. */ + {"deadlock_timeout", PGC_SUSET, LOCK_MANAGEMENT, gettext_noop("Sets the time to wait on a lock before checking for deadlock."), NULL, GUC_UNIT_MS -- cgit v1.2.1