Re: ReadBuffer(P_NEW) versus valid buffers

From: Mark Kirkwood <markir(at)paradise(dot)net(dot)nz>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgreSQL(dot)org
Subject: Re: ReadBuffer(P_NEW) versus valid buffers
Date: 2006-09-24 00:16:30
Message-ID: 4515CE5E.1060309@paradise.net.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:

> So ReadBuffer without hesitation zeroes out the page of data we just
> filled, and returns it for re-filling. There went some tuples :-(
>
> Although this is clearly Not Our Bug, it's annoying that ReadBuffer
> falls into the trap so easily instead of complaining. I'm still
> disinclined to try to change the behavior of mdread(), but what I am
> considering doing is adding a check here to error out if not PageIsNew.
> AFAICS, if we do find a buffer for a page supposedly past EOF, it should
> be zero-filled because that's what mdread returns in this case. So this
> change would prevent Dan's silent-overwrite scenario without changing the
> behavior for any legitimate case.
>
> Thoughts, problems, better ideas?
>

The check looks good - are we chasing up the Linux kernel (or Suse) guys
to get the bug investigated?

Cheers

Mark

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Gevik Babakhani 2006-09-24 00:37:29 Re: Increase default effective_cache_size?
Previous Message Joshua D. Drake 2006-09-24 00:14:45 Re: Increase default effective_cache_size?