Re: several problems in pg_receivexlog
Alvaro Herrera <alvherre@commandprompt.com>
From: Alvaro Herrera <alvherre@commandprompt.com>
To: Magnus Hagander <magnus@hagander.net>
Cc: Fujii Masao <masao.fujii@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2012-07-31T15:06:32Z
Lists: pgsql-hackers
Excerpts from Magnus Hagander's message of jue jul 12 07:35:11 -0400 2012: > On Tue, Jul 10, 2012 at 6:45 PM, Fujii Masao <masao.fujii@gmail.com> wrote: > > When an error happens after replication connection has been established, > > pg_receivexlog doesn't close an open file descriptor and release an allocated > > memory area. This was harmless before 16282ae688de2b320cf176e9be8a89e4dfc60698 > > because pg_receivexlog exits immediately when an error happens. But > > currently in an error case, pg_receivexlog tries reconnecting to the server > > infinitely, so file descriptors and memory would leak. I think this is problem > > and should be fixed. The patch which I submitted yesterday changes > > pg_receivexlog so that it closes the open file and frees the memory area > > before reconnecting to the server. > > Thanks. I get it now, and this explains why I didn't see it before - I > didn't check properly after we added the loop mode. Patch applied with > minor changes (e.g. there's no point in doing PQfinish(tmpconn) right > after you've verified tmpconn is NULL) For some reason, Magnus neglected to backpatch this to 9.2, so I just did. -- Álvaro Herrera <alvherre@commandprompt.com> The PostgreSQL Company - Command Prompt, Inc. PostgreSQL Replication, Consulting, Custom Development, 24x7 support
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Make pg_recievexlog by default loop on connection failures
- 16282ae688de 9.2.0 cited