Re: [COMMITTERS] pgsql: Fix race condition in multixact code: it's possible - Mailing list pgsql-patches

From Bruce Momjian
Subject Re: [COMMITTERS] pgsql: Fix race condition in multixact code: it's possible
Date
Msg-id 200510281748.j9SHmgu18148@candle.pha.pa.us
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Fix race condition in multixact code: it's possible to try to  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-patches
Does this need to be backpatched?

---------------------------------------------------------------------------

Tom Lane wrote:
> Log Message:
> -----------
> Fix race condition in multixact code: it's possible to try to read a
> multixact's starting offset before the offset has been stored into the
> SLRU file.  A simple fix would be to hold the MultiXactGenLock until the
> offset has been stored, but that looks like a big concurrency hit.  Instead
> rely on knowledge that unset offsets will be zero, and loop when we see
> a zero.  This requires a little extra hacking to ensure that zero is never
> a valid value for the offset.  Problem reported by Matteo Beccati, fix
> ideas from Martijn van Oosterhout, Alvaro Herrera, and Tom Lane.
>
> Modified Files:
> --------------
>     pgsql/src/backend/access/transam:
>         multixact.c (r1.9 -> r1.10)
>         (http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/multixact.c.diff?r1=1.9&r2=1.10)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

pgsql-patches by date:

Previous
From: Tom Lane
Date:
Subject: Re: TODO Item - Add system view to show free space map
Next
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] pgsql: Fix race condition in multixact code: it's possible to try to