Re: Assertion failure when streaming logical changes

From: Andres Freund <andres(at)2ndquadrant(dot)com>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>, Heikki Linnakangas <hlinnakangas(at)vmware(dot)com>
Subject: Re: Assertion failure when streaming logical changes
Date: 2015-02-10 13:43:22
Message-ID: 20150210134322.GF21017@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2015-02-10 22:06:34 +0900, Michael Paquier wrote:
> On Tue, Feb 10, 2015 at 9:46 PM, Andres Freund <andres(at)2ndquadrant(dot)com>
> wrote:
>
> > Yea, it really looks like the above commit is to "blame". The new xmin
> > tracking infrastructure doesn't know about the historical snapshot...
> >
>
> I think that we need a better regression coverage here... For example, we
> could add some tap tests in test_decoding to test streaming of logical
> changes. This would help in the future to detect such problems via the
> buildfarm.

I agree. It's more or less a accident that the assert - which just
should be moved in the regd_count == 0 branch - didn't trigger for the
SQL interface. The snapshot acquired by the SELECT statement prevents it
there.

It's not entirely trivial to add tests for receivelogical though. You
need to stop it programatically after a while.

Greetings,

Andres Freund

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2015-02-10 13:46:23 Re: For cursors, there is FETCH and MOVE, why no TELL?
Previous Message Michael Paquier 2015-02-10 13:32:57 Re: Patch: add recovery_timeout option to control timeout of restore_command nonzero status code