Re: Architecture of walreceiver (Streaming Replication)

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Euler Taveira de Oliveira <euler(at)timbira(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Architecture of walreceiver (Streaming Replication)
Date: 2009-11-04 05:01:21
Message-ID: 3f0b79eb0911032101g37a49368w91eaf7cf2807735c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Nov 3, 2009 at 12:33 AM, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Mon, Nov 2, 2009 at 10:14 AM, Euler Taveira de Oliveira
> <euler(at)timbira(dot)com> wrote:
>> BTW, are you going to submit another WIP patch for next commitfest?
>
> Well, Heikki was going to keep working on this and Hot Standby between
> CommitFests "until it gets committed", but things seem to be stalled
> at the moment, possibly because Heikki is tied up with internal
> EnterpriseDB projects.  I don't think the hold-up is with Fujii Masao.

BTW, my replication patch is on git repository:

git://git.postgresql.org/git/users/fujii/postgres.git
branch: replication

The changes against Heikki's repository
(git://git.postgresql.org/git/users/heikki/postgres.git,
branch: replication-orig) are:

- Prevent pq_wait from being called more than once for the connection
which has already turned out to have data ready to be read.

Sometimes walsender was calling pq_wait more than once for the connection
before actually reading data. This is OK in Linux, the subsequent pq_wait
returns immediately. OTOH, in Windows, this makes the subsequent pq_wait
get stuck, i.e., the pq_wait doesn't return even if there is data ready to
be read in the connection. Which seems to be derived from the half-baked
implementation of pgwin32_select.

So I changed pq_wait not to call select/poll until data was read from the
connection, once it turned out to be available.

- Fix the bug that has crossed a logid boundary wrongly. This bug was
introduced by sr-paging-rework.patch.
http://archives.postgresql.org/pgsql-hackers/2009-10/msg00384.php

- Apply the sr_rework_1001.patch.
http://archives.postgresql.org/pgsql-hackers/2009-09/msg01996.php

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-11-04 05:56:02 Re: DISTINCT ON
Previous Message Robert Haas 2009-11-04 04:36:28 Re: DISTINCT ON