From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Race conditions with WAL sender PID lookups |
Date: | 2017-05-11 01:48:39 |
Message-ID: | CAB7nPqTWYqtzD=LN_oDaf9r-hAjUEPAy0B9yRkhcsLdRN8fzrw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi all,
I had my eyes on the WAL sender code this morning, and I have noticed
that walsender.c is not completely consistent with the PID lookups it
does in walsender.c. In two code paths, the PID value is checked
without holding the WAL sender spin lock (WalSndRqstFileReload and
pg_stat_get_wal_senders), which looks like a very bad idea contrary to
what the new WalSndWaitStopping() does and what InitWalSenderSlot() is
doing for ages.
Any thoughts about the patch attached to make things more consistent?
It seems to me that having some safeguards would be nice for
robustness.
That's an old bug, so I am adding that to the next CF.
Thanks,
--
Michael
Attachment | Content-Type | Size |
---|---|---|
walsnd-pid-races.patch | application/octet-stream | 1.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2017-05-11 02:05:08 | Re: [PATCH v2] Progress command to monitor progression of long running SQL queries |
Previous Message | Michael Paquier | 2017-05-11 01:08:30 | Re: Removal of plaintext password type references |