Re: [PATCHES] scan_recycle_buffers - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: [PATCHES] scan_recycle_buffers
Date
Msg-id 87abyl1lk1.fsf@stark.xeocode.com
Whole thread Raw
Responses Re: [PATCHES] scan_recycle_buffers  ("Simon Riggs" <simon@2ndquadrant.com>)
List pgsql-hackers
"Simon Riggs" <simon@2ndquadrant.com> writes:

> COPY command now also uses this hint, to allow test results and
> discussion. Others could also, perhaps needing different values.

Hm. It occurs to me that different commands may want different size buffer
rings.

As I understand it the reason your buffer rings are more than just a single
target buffer are:

1) For sequential scans because it creates a window for synchronized  sequential scans.

2) For dirty buffers because the dirty evicting the dirty buffer will force an  XLogFlush and we want to give a chance
forthe WAL pointer to advance past  the buffer's LSN. Ie, to allow other transactions to do our fsync for us  since it
won'tcost them much extra if anything.
 

Can you log whenever your ring buffer finds a provides a dirty buffer whose
LSN requires syncing the WAL log? That will help you figure out how large a
ring buffer you need to guarantee property 2.


--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: Re: My honours project - databases using dynamically attached entity-properties
Next
From: Gregory Stark
Date:
Subject: Recursive Queries and tuplestore.c