Re: Race conditions, race conditions!

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Race conditions, race conditions!
Дата
Msg-id 200508122314.j7CNE1o21380@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: Race conditions, race conditions!  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Patch applied.  Thanks.
> >            * block is not currently in memory.
> >            */
> >           bufHdr = BufferAlloc(reln, blockNum, &found);
> > +         /* we are guaranted that nobody else has touched this will-be-new block */
> > +         Assert(!(found && isExtend));
> >           if (found)
> >               BufferHitCount++;
> >       }
> 
> This patch is utterly wrong.  Please revert it.
> 
> The case it is Asserting can't happen is explained in the comment a
> couple dozen lines further down:
> 
> * try to extend a relation
> * read smgrnblocks to find the current relation length
> * allocate an empty buffer for the N+1'st page of the rel
> * call smgrextend
> * smgrextend fails for some reason (eg, no space left on disk)
> * buffer remains present, but is not BM_VALID
> * awhile later, try to extend relation again
> * read smgrnblocks to find the current relation length
> * allocate a buffer for the N+1'st page of the rel
> 
> This is entirely likely to find the same non-BM_VALID buffer that was
> assigned in the first iteration.

Reverted.

--  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,
Pennsylvania19073
 


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Race conditions, race conditions!
Следующее
От: "Marc G. Fournier"
Дата:
Сообщение: Re: DROP OWNED BY