Re: Is WAL_DEBUG related code still relevant today?
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Euler Taveira <euler@eulerto.com>
Cc: Peter Eisentraut <peter@eisentraut.org>, Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2023-12-07T00:51:28Z
Lists: pgsql-hackers
On Wed, Dec 06, 2023 at 09:46:09AM -0300, Euler Taveira wrote: > On Wed, Dec 6, 2023, at 8:27 AM, Peter Eisentraut wrote: >> This kind of thing could be mostly avoided if we didn't hide all the >> WAL_DEBUG behind #ifdefs. > > AFAICS LOCK_DEBUG also hides its GUCs behind #ifdefs. The fact that XLOG_DEBUG > is a variable but seems like a constant surprises me. I would rename it to > XLogDebug or xlog_debug. +1. Or just wal_debug for greppability. >> in the normal case. That way, we don't need to wrap that in #ifdef >> WAL_DEBUG, and the compiler can see the disabled code and make sure it >> continues to build. > > I didn't check the LOCK_DEBUG code path to make sure it fits in the same > category as WAL_DEBUG. If it does, maybe it is worth to apply the same logic > there. PerformWalRecovery() with its log for RM_XACT_ID is something that stresses me a bit though because this is in the main redo loop which is never free. The same can be said about GenericXLogFinish() because the extra computation happens while holding a buffer and marking it dirty. The ones in xlog.c are free of charge as they are called outside any critical portions. This makes me wonder how much we need to care about trace_recovery_messages, actually, and I've never used it. -- Michael
Commits
-
Remove trace_recovery_messages
- c7a3e6b46d38 17.0 landed
-
Fix compilation on Windows with WAL_DEBUG
- 7d5a740331bf 13.14 landed
- c49b6cab1e66 14.11 landed
- 87ed81a8739b 15.6 landed
- 6248a2bb92cc 16.2 landed
- 7636725b922c 17.0 landed