Thread: BUG #6018: ctrl +C cause data inconsistent for sync standby

BUG #6018: ctrl +C cause data inconsistent for sync standby

From
"lxzou"
Date:
The following bug has been logged online:

Bug reference:      6018
Logged by:          lxzou
Email address:      zoulx1982@163.com
PostgreSQL version: 9.1beta1
Operating system:   Linux
Description:        ctrl +C cause data inconsistent for sync standby
Details:

Dear Sir:
  I am interested in standby function of PG, so i test the new feature about
sync standby in PG9.1. I have a question, i install only one primary
postgres and no standby server. When i execute an insert statement in
primary, this statement was blocked. But when I press Ctrl + C in psql, the
statement was commited. In my view, the walsender can't send the xlog to
standby server, the statement should be rollback, but not commit; because
this will cause the data between primary and standby inconsistent.
Thank you for your time.
Look forward to your reply.

Re: BUG #6018: ctrl +C cause data inconsistent for sync standby

From
Fujii Masao
Date:
On Tue, May 10, 2011 at 11:38 AM, lxzou <zoulx1982@163.com> wrote:
> =A0I am interested in standby function of PG, so i test the new feature a=
bout
> sync standby in PG9.1. I have a question, i install only one primary
> postgres and no standby server. When i execute an insert statement in
> primary, this statement was blocked. But when I press Ctrl + C in psql, t=
he
> statement was commited. In my view, the walsender can't send the xlog to
> standby server, the statement should be rollback, but not commit; because
> this will cause the data between primary and standby inconsistent.

The transaction gets blocked by sync rep *after* it's committed on the
master. So, we cannot rollback such a transaction because it's already
been committed on the master (i.e., WAL has already been flushed to the dis=
k).

Regards,

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