Re: OOM in libpq and infinite loop with getCopyStart()

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: OOM in libpq and infinite loop with getCopyStart()
Дата
Msg-id CAA4eK1KR4NjUGAUgB4NSt8eyHd3+kgmWVJ0zZHAOE6NX5TW-rg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: OOM in libpq and infinite loop with getCopyStart()  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: OOM in libpq and infinite loop with getCopyStart()  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On Mon, Mar 21, 2016 at 10:13 PM, Robert Haas <robertmhaas@gmail.com> wrote:
>
> On Tue, Mar 1, 2016 at 12:38 AM, Michael Paquier
> <michael.paquier@gmail.com> wrote:
> > Thoughts? I have registered that in the CF app, and a patch is attached.
>
> It is very difficult to believe that this is a good idea:
>
> --- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
> +++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
> @@ -445,6 +445,7 @@ libpqrcv_PQexec(const char *query)
>          if (PQresultStatus(lastResult) == PGRES_COPY_IN ||
>              PQresultStatus(lastResult) == PGRES_COPY_OUT ||
>              PQresultStatus(lastResult) == PGRES_COPY_BOTH ||
> +            PQresultStatus(lastResult) == PGRES_FATAL_ERROR ||
>              PQstatus(streamConn) == CONNECTION_BAD)
>              break;
>      }
>
> I mean, why would it be a good idea to blindly skip over fatal errors?
>

I think it is not about skipping the FATAL error, rather to stop trying to get further results on FATAL error.  This is to ensure that OOM error is reported rather that ignored.  There has been discussion about this previously as well [1].


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

Предыдущее
От: Haribabu Kommi
Дата:
Сообщение: Re: [HACKERS] Re: [HACKERS] Re: [HACKERS] Windows service is not starting so there’s message in log: FATAL: "could not create shared memory segment “Global/PostgreSQL.851401618”: Permission denied”
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: Minor bug affecting ON CONFLICT lock wait log messages