Re: [PATCH 01/16] Overhaul walsender wakeup handling

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Andres Freund <andres@2ndquadrant.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-06-22T14:59:45Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Don't waste the last segment of each 4GB logical log file.

  2. Stamp HEAD as 9.3devel.

  3. Wake WALSender to reduce data loss at failover for async commit.

  4. Make the visibility map crash-safe.

On Fri, Jun 22, 2012 at 10:45 AM, Andres Freund <andres@2ndquadrant.com> wrote:
>> > the likelihood of that as you know.
>> Hmm, well, I guess.  I'm still not sure I really understand what
>> benefit we're getting out of this.  If we lose a few WAL records for
>> an uncommitted transaction, who cares?  That transaction is gone
>> anyway.
> Well, before the simple fix Simon applied after my initial complaint you
> didn't get wakeups *at all* in the synchronous_commit=off case.
>
> Now, with the additional changes, the walsender is woken exactly when data is
> available to send and not always when a commit happens. I played around with
> various scenarios and it always was a win.

Can you elaborate on that a bit?  What scenarios did you play around
with, and what does "win" mean in this context?

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company