On 03/09/10 10:45, Simon Riggs wrote:
> On Fri, 2010-09-03 at 09:55 +0300, Heikki Linnakangas wrote:
>> On 03/09/10 09:36, Simon Riggs wrote:
>>> On Fri, 2010-09-03 at 12:50 +0900, Fujii Masao wrote:
>>>> That design would affect what the standby should reply. If we choose
>>>> async/recv/fsync/replay on a per-transaction basis, the standby
>>>> should send multiple LSNs and the master needs to decide when
>>>> replication has been completed. OTOH, if we choose just sync/async,
>>>> the standby has only to send one LSN.
>>>>
>>>> The former seems to be more useful, but triples the number of ACK
>>>> from the standby. I'm not sure whether its overhead is ignorable,
>>>> especially when the distance between the master and the standby is
>>>> very long.
>>>
>>> No, it doesn't. There is no requirement for additional messages.
>>
>> Please explain how you do it then. When a commit record is sent to the
>> standby, it needs to acknowledge it 1) when it has received it, 2) when
>> it fsyncs it to disk and c) when it's replayed. I don't see how you can
>> get around that.
>>
>> Perhaps you can save a bit by combining multiple messages together, like
>> in Nagle's algorithm, but then you introduce extra delays which is
>> exactly what you don't want.
>
>> From my perspective, you seem to be struggling to find reasons why this
> should not happen, rather than seeing the alternatives that would
> obviously present themselves if your attitude was a positive one. We
> won't make any progress with this style of discussion.
Huh? You made a very clear claim above that you don't need additional
messages. I explained why I don't think that's true, and asked you to
explain why you think it is true. Whether the claim is true or not does
not depend on my attitude.
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com