Re: [BUGS] BUG #14680: startup process on standby encounter adeadlock of TwoPhaseStateLock when redo 2PC xlog - Mailing list pgsql-bugs

From Michael Paquier
Subject Re: [BUGS] BUG #14680: startup process on standby encounter adeadlock of TwoPhaseStateLock when redo 2PC xlog
Date
Msg-id CAB7nPqQE1HLX3dksYahGr+rSRfdmuO5ooEvBf+T0u7m4FegSPQ@mail.gmail.com
Whole thread Raw
In response to Re: [BUGS] BUG #14680: startup process on standby encounter adeadlock of TwoPhaseStateLock when redo 2PC xlog  (Michael Paquier <michael.paquier@gmail.com>)
Responses [BUGS] Re: BUG #14680: startup process on standby encounter a deadlock ofTwoPhaseStateLock when redo 2PC xlog  (wangchuanting <wangchuanting@huawei.com>)
[BUGS] Re: BUG #14680: startup process on standby encounter a deadlock ofTwoPhaseStateLock when redo 2PC xlog  (Noah Misch <noah@leadboat.com>)
List pgsql-bugs
On Wed, May 31, 2017 at 12:30 PM, Michael Paquier
<michael.paquier@gmail.com> wrote:
> On Wed, May 31, 2017 at 6:57 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> wangchuanting@huawei.com writes:
>>> startup process on standby encounter a deadlock of TwoPhaseStateLock when
>>> redo 2PC xlog.
>>
>> Please provide an example of how to get into this state.
>
> That would help. Are you seeing in the logs something like "removing
> future two-phase state from memory for XXX" or "removing stale
> two-phase state from shared memory for XXX"?
>
> Even with that, the light-weight lock sequence taken in those code
> paths look definitely wrong to me, we should not take twice
> TwoPhaseStateLock in the same code path. I think that we should remove
> the lock acquisitions in RemoveGXact() and PrepareRedoRemove, and then
> upgrade the locks of PrescanPreparedTransactions() and
> StandbyRecoverPreparedTransactions() to be exclusive. We still need to
> keep a lock as CheckPointTwoPhase() may still be triggered by the
> checkpoint. Tom, what do you think?

Attached is what I was thinking about for reference. I just came back
from a long flight and I am pretty tired, so my brain may have missed
something. I'll take again a look at this issue on Monday, an open
item has been added for now.
-- 
Michael

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Attachment

pgsql-bugs by date:

Previous
From: wangchuanting
Date:
Subject: [BUGS] Re: BUG #14680: startup process on standby encounter a deadlock ofTwoPhaseStateLock when redo 2PC xlog
Next
From: ray.warren@artsalliancemedia.com
Date:
Subject: [BUGS] BUG #14683: *** glibc detected *** SELECT: double free or corruption