Re: Replication server timeout patch - Mailing list pgsql-hackers

From Heikki Linnakangas
Subject Re: Replication server timeout patch
Date
Msg-id 4D89CC61.3000206@enterprisedb.com
Whole thread Raw
In response to Re: Replication server timeout patch  (Fujii Masao <masao.fujii@gmail.com>)
Responses Re: Replication server timeout patch
Re: Replication server timeout patch
List pgsql-hackers
On 16.03.2011 11:11, Fujii Masao wrote:
> On Wed, Mar 16, 2011 at 4:49 PM, Fujii Masao<masao.fujii@gmail.com>  wrote:
>> Agreed. I'll change the patch.
>
> Done. I attached the updated patch.

I don't much like the API for this. Walsender shouldn't need to know
about the details of the FE/BE protocol, pq_putbytes_if_available()
seems too low level to be useful.

I think a better API would be to have a non-blocking version of
pq_putmessage(). We can make the output buffer in pqcomm.c resizeable,
so that when the message doesn't fit in the output buffer in
pq_putmessage(), the buffer is enlarged instead of trying to flush it.

Attached is a patch using that approach. This is a much smaller patch,
and easier to understand. I'm not totally happy with the walsender main
loop, it seems to work as it is, but the logic has become quite
complicated. Ideas welcome on how to simplify that.

--
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

Attachment

pgsql-hackers by date:

Previous
From: Marti Raudsepp
Date:
Subject: Re: Planner regression in 9.1: min(x) cannot use partial index with NOT NULL
Next
From: Heikki Linnakangas
Date:
Subject: Re: writing a script to examine dead tuples