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: Jeff Janes <jeff.janes@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-09-11T09:31:08Z
Lists: pgsql-hackers
On 11/09/16 19:16, Mark Kirkwood wrote:

>
>
> On 11/09/16 17:01, Amit Kapila wrote:
>> ...Do you think we can do some read-only
>> workload benchmarking using this server?  If yes, then probably you
>> can use concurrent hash index patch [1] and cache the metapage patch
>> [2] (I think Mithun needs to rebase his patch) to do so.
>>
>>
>>
>> [1] - 
>> https://www.postgresql.org/message-id/CAA4eK1J6b8O4PcEPqRxNYbLVbfToNMJEEm+qn0jZX31-obXrJw@mail.gmail.com
>> [2] - 
>> https://www.postgresql.org/message-id/CAD__OuhJ29CeBif_fLGe4t9Vj_-cFXBwCXhjO+D_16TXbemY+g@mail.gmail.com
>>
>>
>
> I can do - are we checking checking for hangs/assertions or comparing 
> patched vs unpatched performance (for the metapage patch)?
>
>

So, assuming the latter - testing performance with and without the 
metapage patch:

For my 1st runs:

- cpus 16, ran 16G
- size 100, clients 32

I'm seeing no difference in performance for read only (-S) pgbench 
workload (with everybody using has indexes). I guess not that surprising 
as the db fites in ram (1.6G and we have 16G). So I'll retry with a 
bigger dataset (suspect size 2000 is needed).

regards

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.