Re: Write Ahead Logging for Hash Indexes

Mark Kirkwood <mark.kirkwood@catalyst.net.nz>

From: Mark Kirkwood <mark.kirkwood@catalyst.net.nz>
To: Amit Kapila <amit.kapila16@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-08-24T04:52:27Z
Lists: pgsql-hackers

Attachments

On 24/08/16 16:33, Amit Kapila wrote:
> On Wed, Aug 24, 2016 at 9:53 AM, Mark Kirkwood
> <mark.kirkwood@catalyst.net.nz> wrote:
>> On 24/08/16 15:36, Amit Kapila wrote:
>>> On Wed, Aug 24, 2016 at 8:54 AM, Mark Kirkwood
>>> <mark.kirkwood@catalyst.net.nz> wrote:
>>> Can you get the call stacks?
>>>
>> For every stuck backend? (just double checking)...
> Yeah.
>

Cool,

I managed to reproduce with a reduced workload of 4 backends, then 
noticed that the traces for 3 of 'em were all the same. So I've attached 
the 2 unique ones, plus noted what pg_stat_activity thought the wait 
event was, in case that is useful.

Cheers

Mark

Commits

  1. Add a regression test for snapshot too old with hash indexes.

  2. hash: Add write-ahead logging support.

  3. Improve coding in _hash_addovflpage.

  4. Remove _hash_wrtbuf() in favor of calling MarkBufferDirty().

  5. Improve hash index bucket split behavior.