From: | Michael Paquier <michael(dot)paquier(at)gmail(dot)com> |
---|---|
To: | Jiří Hlinka <jiri(dot)hlinka(at)gmail(dot)com> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Deadlock detected after pg_repack receives SIGINT |
Date: | 2015-11-03 13:44:07 |
Message-ID: | CAB7nPqQ4NmACjdX+2bwURP8SYPRSk9w2JWKkPoSc2uKtPW=yzw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Nov 3, 2015 at 9:51 PM, Jiří Hlinka <jiri(dot)hlinka(at)gmail(dot)com> wrote:
> After the 10 min timeout, the OS sends SIGINT to pg_repack process so the
> pg_repack calls:
> SELECT repack.repack_drop($1, $2)
> and it causes a deadlock with other process which is INSERTing into
> frequently_updated_table that has a pg_repack's trigger to log every change
> to a repack.log_[OID of frequently_updated_table].
Recalling memories from this stuff, that's part of a cleanup rollback,
right? A repack can be a lengthy operation on relations that are
heavily updated as pg_repack keeps a trace of each DML event that
happens to the source table and then replays them one by one.
> Is it a bug of pg_repack or am I doing something wrong? Should I add some
> detailed info?
I doubt there is anything involving Postgres here. It seems that some
process is still holding a lock on a relation that is being dropped,
caused by a race condition in pg_repack code.
> PS: I was trying a mailing list of pg_repack
> (http://lists.pgfoundry.org/pipermail/reorg-genera) and github without any
> notice. If there is better place to ask, tell me, please.
I guess you should let those folks time to answer. If I were you I'd
begin first by letting more time for the repack operation to complete.
Regards,
--
Michael
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2015-11-03 14:04:19 | Re: pg_archivecleanup not deleting anything? |
Previous Message | Jiří Hlinka | 2015-11-03 12:51:09 | Deadlock detected after pg_repack receives SIGINT |