Re: "snapshot too large" error when initializing logical replication (9.4) - Mailing list pgsql-hackers

From Steve Singer
Subject Re: "snapshot too large" error when initializing logical replication (9.4)
Date
Msg-id BLU436-SMTP64F8D0B36330A82BA47D86DC9A0@phx.gbl
Whole thread Raw
In response to Re: "snapshot too large" error when initializing logical replication (9.4)  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On 10/28/2014 01:27 PM, Andres Freund wrote:
> Hi,
>
> On 2014-10-25 18:09:36 -0400, Steve Singer wrote:
>> I sometimes get the error "snapshot too large" from my logical replication
>> walsender process when in response to a CREATE_REPLICATION_SLOT.
> Yes. That's possible if 'too much' was going on until a consistent point
> was reached.  I think we can just use a much larger size for the array
> if necessary.
>
> I've attached patch for this. Could you try whether that helps? I don't
> have a testcase handy that reproduces the problem.

This patch seems to fix things.
I've done numerous runs of the test with I was doing before with your 
patch applied and don't seem to be having this issue anymore.


>> This is in SnapBuildExportSnapshot in snapbuild.c
>>
>> newxcnt is 212 at that point
>>
>> I have max_connections = 200
>>
>> procArray->maxProcs=212
>>
>> Should we be testing
>> newxcnt > GetMaxSnapshotXidCount()
>>
>> instead of
>> newxcnt >= GetMaxSnapshotXidCount()
> It actually looks correct to me new - newxcnt is used as an offset into
> an array of size GetMaxSnapshotXidCount().
>
> Greetings,
>
> Andres Freund
>
>
>




pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: TAP test breakage on MacOS X
Next
From: Tom Lane
Date:
Subject: Re: TAP test breakage on MacOS X