On 8 June 2012 12:40, Andres Freund <and...@2ndquadrant.com> wrote:
> Hi All,
>
> On Friday, June 08, 2012 12:42:00 PM Andres Freund wrote:
>> On Friday, June 08, 2012 12:25:25 PM Valentine Gogichashvili wrote:
>> > unfortunately I did not manage to keep the snapshot of the database, that
>> > had this issue.
> Ok, after some playing I could reproduce the issue:
>
> master:
> S1: CREATE FUNCTION insertone() RETURNS void LANGUAGE plpgsql AS $$BEGIN
> INSERT INTO data(data) VALUES (random()); EXCEPTION WHEN division_by_zero THEN
> RAISE NOTICE 'huh'; END;$$;
> S1: BEGIN;
> S1: SELECT insertone() FROM generate_series(1, 1000); --subxid overflow
> S2: BEGIN;
> S2: SELECT insertone(); --allocate xid
>
> standby:
> pg_basebackup
> LOG:  00000: consistent recovery state reached at 0/5C0001C0
> LOG:  00000: recovery snapshot waiting for non-overflowed snapshot or until
> oldest active xid on standby is at least 4752 (now 3750)
>
> master:
> S1: commit:
> S3: checkpoint;
>
> standby:
> before patch:
> crash in assert/elog
> after:
>  LOG:  00000: recovery snapshots are now enabled
>
> So I can confirm the above patch fixes at least that bug.
>
> Andres

Committed, with minor changes in wording of comments and error messages.

-- 
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to