Re: "snapshot too large" error when initializing logical replication (9.4)

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: "snapshot too large" error when initializing logical replication (9.4)
Дата
Msg-id 20141028172701.GB5873@awork2.anarazel.de
обсуждение исходный текст
Ответ на "snapshot too large" error when initializing logical replication (9.4)  (Steve Singer <steve@ssinger.info>)
Ответы Re: "snapshot too large" error when initializing logical replication (9.4)
Re: "snapshot too large" error when initializing logical replication (9.4)
Список pgsql-hackers
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 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

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

Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: WIP: Access method extendability
Следующее
От: Andres Freund
Дата:
Сообщение: Re: logical decoding - reading a user catalog table