From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> |
Cc: | Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Paquier <michael(dot)paquier(at)gmail(dot)com>, PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: OOM in libpq and infinite loop with getCopyStart() |
Date: | 2016-03-22 04:16:07 |
Message-ID: | 19913.1458620167@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Amit Kapila <amit(dot)kapila16(at)gmail(dot)com> writes:
> On Mon, Mar 21, 2016 at 10:13 PM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
>> 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.
If the code already includes "lost the connection" as a case to break on,
I'm not quite sure why "got a query error" is not. Maybe that PQstatus
check is broken too, but it doesn't seem like this patch makes it more so.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2016-03-22 04:22:23 | parallel aggregation - Numeric is unsupported? |
Previous Message | Pavel Stehule | 2016-03-22 04:14:09 | Re: Relax requirement for INTO with SELECT in pl/pgsql |