Re: several problems in pg_receivexlog
Fujii Masao <masao.fujii@gmail.com>
From: Fujii Masao <masao.fujii@gmail.com>
To: Magnus Hagander <magnus@hagander.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-07-10T16:45:39Z
Lists: pgsql-hackers
On Tue, Jul 10, 2012 at 6:27 AM, Magnus Hagander <magnus@hagander.net> wrote: > On Mon, Jul 9, 2012 at 8:23 PM, Fujii Masao <masao.fujii@gmail.com> wrote: >> Hi, >> >> I found several problems in pg_receivexlog, e.g., memory leaks, >> file-descripter leaks, ..etc. The attached patch fixes these problems. > > While I don't doubt that what you've found are real problems, would > you mind explaining exactly what they are, so we don't have to > reverse-engineer the patch to figure that out? Yep. 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. Regards, -- Fujii Masao
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