| From: | Robert Haas <robertmhaas(at)gmail(dot)com> |
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: log_newpage header comment |
| Date: | 2012-06-08 18:07:58 |
| Message-ID: | CA+TgmoZzT4RBwGWuoUrchECRGRFH=+4XTSevdfb=nAGGVW3njA@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Fri, Jun 8, 2012 at 1:20 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Fri, Jun 8, 2012 at 9:56 AM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> OK. So what I'm thinking is that we should add a new function that
>> takes a relfilenode and a buffer and steps 4-6 of what's described in
>> transam/README: mark the buffer dirty, xlog it, and set the LSN and
>> TLI. We might want to have this function assert that it is in a
>> critical section, for the avoidance of error. Then anyone who wants
>> to use it can do steps 1-3, call the function, and then finish up with
>> steps 6-7. I don't think we can cleanly encapsulate any more than
>> that.
>
> On further review, I think that we ought to make MarkBufferDirty() the
> caller's job, because sometimes we may need to xlog only if
> XLogIsNeeded(), but the buffer's got to get marked dirty either way.
> So I think the new function should just do step 5 - emit XLOG and set
> LSN/TLI.
>
> Proposed patch attached.
Whee, testing is fun. Second try.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
| Attachment | Content-Type | Size |
|---|---|---|
| log-newpage-buffer-v2.patch | application/octet-stream | 3.9 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Lonni J Friedman | 2012-06-08 19:30:48 | Re: pg_basebackup blocking all queries with horrible performance |
| Previous Message | Kevin Grittner | 2012-06-08 18:05:24 | Re: Temporary tables under hot standby |