Re: pgsql: Add the "snapshot too old" feature - Mailing list pgsql-committers

From Alexander Korotkov
Subject Re: pgsql: Add the "snapshot too old" feature
Date
Msg-id CAPpHfdtMONZFOXSsw1HkrD9Eb4ozF8Q8oCqH4tkpH_girJPPuA@mail.gmail.com
Whole thread Raw
In response to pgsql: Add the "snapshot too old" feature  (Kevin Grittner <kgrittn@postgresql.org>)
Responses Re: pgsql: Add the "snapshot too old" feature  (Kevin Grittner <kgrittn@gmail.com>)
List pgsql-committers
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

pgsql-committers by date:

Previous
From: Fujii Masao
Date:
Subject: pgsql: Fix documented return type of pg_logical_emit_message() in func.
Next
From: Peter Eisentraut
Date:
Subject: pgsql: cpluspluscheck: Update include path