Re: Group Commit

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Group Commit
Date: 2011-11-16 00:18:07
Message-ID: CAMkU=1w5pLv5=P_pNhP3CHD6AeSGQO+R_2Sekq6EeWDttAhP-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Nov 14, 2011 at 2:08 AM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> Enclosed patch implements Group Commit and also powersave mode for WALWriter.
>
> XLogFlush() waits for WALWriter to run XLogBackgroundFlush(), which
> flushes WAL and then wakes waiters. Uses same concepts and similar
> code to sync rep.
>
> Purpose is to provide consistent WAL writes, even when WALInsertLock
> contended. Currently no "off" option, thinking is that the overhead of
> doing this is relatively low and so it can be "always on" - exactly as
> it is for sync rep.
>
> WALWriter now has variable wakeups, so wal_writer_delay is removed.
> Commit_delay and Commit_siblings are now superfluous and are also removed.
>
> Works, but needs discussion in some areas, docs and possibly tuning
> first, so this is more of a quicky than a slow, comfortable patch.

When I apply this to HEAD and run make check, it freezes at:
test tablespace ...

The wal writer process is running at 100% CPU. The only thing it is
doing that is visible though strace is checking that the postmaster is
alive.

I see the same behavior on two different Linux boxes, 32 bit and 64
bit. I've tried to do some debugging, but haven't made much head-way.
Does anyone else see this?

Cheers,

Jeff

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Geoghegan 2011-11-16 00:46:01 Re: ISN was: Core Extensions relocation
Previous Message Ants Aasma 2011-11-16 00:14:36 Re: strict aliasing