Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 3846ecb

Browse files
committed
release MtmLock during GetLoggedPreparedXactState
1 parent 5560b28 commit 3846ecb

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

arbiter.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -968,7 +968,12 @@ static void MtmReceiver(Datum arg)
968968
tm = (MtmTransMap*)hash_search(MtmGid2State, msg->gid, HASH_FIND, NULL);
969969
if (tm == NULL || tm->state == NULL)
970970
{
971-
XidStatus status = GetLoggedPreparedXactState(msg->gid);
971+
XidStatus status;
972+
973+
MtmUnlock();
974+
status = GetLoggedPreparedXactState(msg->gid);
975+
MtmLock(LW_EXCLUSIVE);
976+
972977
if (status == TRANSACTION_STATUS_UNKNOWN)
973978
{
974979
MTM_ELOG(WARNING, "Request for unexisted transaction %s from node %d", msg->gid, node);

0 commit comments

Comments
 (0)