On Tue, Mar 03, 2026 at 12:48:26PM -0800, Masahiko Sawada wrote: > Also, if we reverse the ereport() and LWLockRelease() in the specific > example in logicalctl.c, it would happen that a concurrent logical > decoding activation writes the log "logical decoding is enabled upon > creating a new logical replication slot" before the deactivation > "logical decoding is disabled because there are no valid logical > replication slots", confusing users since the logical decoding is > active even though the last log saying "logical decoding is disabled".
I don't really understand why we need to care about changing these code paths. LWLocks are not bound to requirements like avoiding elog() or Postgres-specific calls while being hold, so what we are doing is basically fine. None of the code paths changed here are relevant performance-wise, as well. Hence, why caring at all with such changes? -- Michael
signature.asc
Description: PGP signature
