Re: snapshot too old, configured by time

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: Kevin Grittner <kgrittn(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Steve Singer <steve(at)ssinger(dot)info>, Kevin Grittner <kgrittn(at)ymail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: snapshot too old, configured by time
Date: 2016-04-07 15:44:00
Message-ID: CAMkU=1w__H5jm_TqUV14gp4Yn1BsPg3DkO2Z87+N78U5RJrJoQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon, Apr 4, 2016 at 8:38 PM, Peter Geoghegan <pg(at)heroku(dot)com> wrote:
> On Sun, Apr 3, 2016 at 2:09 PM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:
>> Also, HOT-cleanup should stop the bloat increase once the snapshot
>> crosses the old_snapshot_threshold without even needing to wait until
>> the next autovac runs.
>>
>> Does the code intentionally only work for manual vacuums? If so, that
>> seems quite surprising. Or perhaps I am missing something else here.
>
> What proportion of the statements in your simulated workload were
> updates? Per my last mail to this thread, I'm interested in knowing if
> this was a delete heavy workload.

It was pgbench's built in TPC-B-like, so 3 UPDATE, 1 SELECT, 1 INSERT
per transaction.

So I would say that it is ridiculously update heavy compared to almost
any real-world use patterns.

That is the active workload. The long-term snapshot holder just does
a sum(abalance) at the repeatable read level in order to force a
snapshot to be taken and held, and then goes idle for a long time.

Cheers,

Jeff

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2016-04-07 15:45:23 Re: Why the "UPDATE tab SET tab.col" is invalid?
Previous Message Amit Kapila 2016-04-07 15:40:51 Re: Speed up Clog Access by increasing CLOG buffers