Re: loss of transactions in streaming replication
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-10-19T16:05:52Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Send status updates back from standby server to master, indicating how far
- b186523fd97c 9.1.0 cited
-
Allow bidirectional copy messages in streaming replication mode.
- d3d414696f39 9.1.0 cited
On Wed, Oct 19, 2011 at 10:41 AM, Fujii Masao <masao.fujii@gmail.com> wrote: > On Wed, Oct 19, 2011 at 9:44 PM, Robert Haas <robertmhaas@gmail.com> wrote: >>> The original behavior, in 9.0, is that all outstanding WAL are >>> replicated to the standby when the master shuts down normally. >>> But ISTM the behavior was changed unexpectedly in 9.1. So >>> I think that it should be back-patched to 9.1 to revert the behavior >>> to the original. >> >> Which commit broke this? > > d3d414696f39e2b57072fab3dd4fa11e465be4ed > b186523fd97ce02ffbb7e21d5385a047deeef4f6 > > The former introduced problematic libpqrcv_send() (which was my mistake...), > and the latter is the first user of it. OK, so this is an artifact of the changes to make libpq communication bidirectional. But I'm still confused about where the error is coming from. In your OP, you wrote "In 9.2dev and 9.1, when walreceiver detects an error while sending data to WAL stream, it always emits ERROR even if there are data available in the receive buffer." So that implied to me that this is only going to trigger if you have a shutdown together with an awkwardly-timed error. But your scenario for reproducing this problem doesn't seem to involve an error. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company