pg_subscription_rel entry can be updated concurrently

From: Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: pg_subscription_rel entry can be updated concurrently
Date: 2017-06-13 00:52:20
Message-ID: CAD21AoCjP+5mwt+6kHaOJ4q1ufzGDu1OsmomSjaL3eE7W5S8Tw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I often get an error "ERROR: tuple concurrently updated" when
changing subscription state(ALTER SUBSCRIPTION or DROP SUBSCRIPTION).
The cause of this error is that table sync worker and apply worker can
try to update the same tuple in pg_subscription_rel. Especially it
often happens when we do initial copy for many tables and change it
during executing.

I think that touching the same tuple by two worker processes happens
when aborting replication for a table or a subscription, so it would
be the same result as when the worker ends up with an error. But I
think since it's not an appropriate behavior we should deal with it.
Any thoughts?

Regards,

--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2017-06-13 00:59:44 Re: pg_subscription_rel entry can be updated concurrently
Previous Message Michael Paquier 2017-06-13 00:48:56 Re: ICU support on Windows