Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature

From: Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru>
To: Kevin Grittner <kgrittn(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andres Freund <andres(at)anarazel(dot)de>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Robert Haas <robert(dot)haas(at)enterprisedb(dot)com>
Cc: pgsql-committers(at)postgresql(dot)org, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature
Date: 2016-04-11 13:20:45
Message-ID: CAPpHfdtMONZFOXSsw1HkrD9Eb4ozF8Q8oCqH4tkpH_girJPPuA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Kevin,

This commit makes me very uneasy. I didn't much care about this patch
mainly because I didn't imagine its consequences. Now, I see following:

1) We uglify buffer manager interface a lot. This patch adds 3 more
arguments to BufferGetPage(). It looks weird. Should we try to find less
invasive way for doing this?
2) Did you ever try to examine performance regression? I tried simple read
only test on 4x18 Intel server.
pgbench -s 1000 -c 140 -j 100 -M prepared -S -T 300 -P 1 postgres (data
fits to shared_buffers)

master - 193 740.3 TPS
snapshot too old reverted - 1 065 732.6 TPS

So, for read-only benchmark this patch introduces more than 5 times
regression on big machine.

------
Alexander Korotkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2016-04-11 13:27:30 Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature
Previous Message Fujii Masao 2016-04-11 12:29:17 pgsql: Fix documented return type of pg_logical_emit_message() in func.

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2016-04-11 13:27:30 Re: [COMMITTERS] pgsql: Add the "snapshot too old" feature
Previous Message Pavel Stehule 2016-04-11 13:10:01 Re: Execute ignoring cursor?