From: | Bruce Momjian <bruce(at)momjian(dot)us> |
---|---|
To: | Kevin Grittner <Kevin(dot)Grittner(at)wicourts(dot)gov> |
Cc: | Greg Smith <greg(at)2ndquadrant(dot)com>, jd(at)commandprompt(dot)com, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>, Steve Crawford <scrawford(at)pinpointresearch(dot)com>, pgsql-performance(at)postgresql(dot)org, Ben Chobot <bench(at)silentmedia(dot)com> |
Subject: | Re: BBU Cache vs. spindles |
Date: | 2010-10-21 19:35:29 |
Message-ID: | 201010211935.o9LJZTM21744@momjian.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-performance pgsql-www |
Kevin Grittner wrote:
> Bruce Momjian <bruce(at)momjian(dot)us> wrote:
>
> > If the write fails to the controller, the page is not flushed and
> > PG does not continue. If the write fails, the fsync never
> > happens, and hence PG stops.
>
> PG stops? This case at issue is when the OS crashes or the plug is
> pulled in the middle of writing a page. I don't think PG will
> normally have the option of a graceful stop after that. To quote
> the Fine Manual:
If the OS crashes during a write or fsync, we have not committed the
transaction.
>
> http://www.postgresql.org/docs/current/interactive/runtime-config-wal.html#GUC-FULL-PAGE-WRITES
>
> | a page write that is in process during an operating system crash
> | might be only partially completed, leading to an on-disk page that
> | contains a mix of old and new data. The row-level change data
> | normally stored in WAL will not be enough to completely restore
> | such a page during post-crash recovery. Storing the full page
> | image guarantees that the page can be correctly restored
>
> Like I said, the only difference between the page being written to
> platters and to a BBU cache that I can see is the average size of
> the window of time in which you're vulnerable, not whether there is
> a window. I don't think you've really addressed that concern.
I assume we send a full 8k to the controller, and a failure during that
write is not registered as a write. A disk drive is modifying permanent
storage so there is always the possibility of that failing. I assume
the BBU just rewrites that after startup.
--
Bruce Momjian <bruce(at)momjian(dot)us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ It's impossible for everything to be true. +
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2010-10-21 19:42:06 | Re: BBU Cache vs. spindles |
Previous Message | Kevin Grittner | 2010-10-21 19:31:01 | Re: BBU Cache vs. spindles |
From | Date | Subject | |
---|---|---|---|
Next Message | Kevin Grittner | 2010-10-21 19:42:06 | Re: BBU Cache vs. spindles |
Previous Message | Kevin Grittner | 2010-10-21 19:31:01 | Re: BBU Cache vs. spindles |