Re: drop/truncate table sucks for large values of shared buffers

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Simon Riggs <simon(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: drop/truncate table sucks for large values of shared buffers
Date: 2015-06-30 05:30:26
Message-ID: CANP8+jLHyJvjQsQLq2HxtxKxaifrB3oKiCG52G=NEiBnSg1mRw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 30 June 2015 at 05:02, Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> wrote:

> On Mon, Jun 29, 2015 at 7:18 PM, Simon Riggs <simon(at)2ndquadrant(dot)com>
> wrote:
> >
> > On 28 June 2015 at 17:17, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >>
> >> I'm not sure what you consider "dire", but missing a dirty buffer
> >> belonging to the to-be-destroyed table would result in the system being
> >> permanently unable to checkpoint, because attempts to write out the
> buffer
> >> to the no-longer-extant file would fail. You could only get out of the
> >> situation via a forced database crash (immediate shutdown), followed by
> >> replaying all the WAL since the time of the problem. In production
> >> contexts that could be pretty dire.
> >
> >
> > Yes, its bad, but we do notice that has happened. We can also put in
> code to specifically avoid this error at checkpoint time.
> >
> > If lseek fails badly then SeqScans would give *silent* data loss, which
> in my view is worse. Just added pages aren't the only thing we might miss
> if lseek is badly wrong.
> >
>
> So for the purpose of this patch, do we need to assume that
> lseek can give us wrong size of file and we should add preventive
> checks and other handling for the same?
> I am okay to change that way, if we are going to have that as assumption
> in out code wherever we are using it or will use it in-future, otherwise
> we will end with some preventive checks which are actually not required.
>

They're preventative checks. You always hope it is wasted effort.

--
Simon Riggs http://www.2ndQuadrant.com/
<http://www.2ndquadrant.com/>
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2015-06-30 05:57:41 Re: Solaris testers wanted for strxfrm() behavior
Previous Message Amit Kapila 2015-06-30 04:52:40 Re: LWLock deadlock and gdb advice