Re: Error while creating subscription when server is running in single user mode

From: Andres Freund <andres(at)anarazel(dot)de>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, tushar <tushar(dot)ahuja(at)enterprisedb(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Error while creating subscription when server is running in single user mode
Date: 2017-06-06 19:53:21
Message-ID: 20170606195321.sjmenrfgl2nu6j63@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017-06-06 15:48:42 -0400, Robert Haas wrote:
> On Fri, Jun 2, 2017 at 3:24 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> > Latches work in single user mode, it's just that the new code for some
> > reason uses uninitialized memory as the latch. As I pointed out above,
> > the new code really should just use MyLatch instead of
> > MyProc->procLatch.

FWIW, I'd misremembered some code here, and we actually reach the
function initializing the shared latch, even in single user mode.

> We seem to have accumulated quite a few instance of that.
>
> [rhaas pgsql]$ git grep MyLatch | wc -l
> 116
> [rhaas pgsql]$ git grep 'MyProc->procLatch' | wc -l
> 33
>
> Most of the offenders are in src/backend/replication, but there are
> some that are related to parallelism as well (bgworker.c, pqmq.c,
> parallel.c, condition_variable.c). Maybe we (you?) should just go and
> change them all. I don't think using MyLatch instead of
> MyProc->procLatch has become automatic for everyone yet.

Nevertheless this should be changed. Will do.

- Andres

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2017-06-06 19:58:04 Re: Why does logical replication launcher set application_name?
Previous Message Robert Haas 2017-06-06 19:48:42 Re: Error while creating subscription when server is running in single user mode