Skip to content

Commit 85c7597

Browse files
committed
Fix several places where error was thrown under exclusive mtm lock
1 parent 86746e5 commit 85c7597

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

contrib/mmts/multimaster.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1503,6 +1503,7 @@ MtmEndTransaction(MtmCurrentTrans* x, bool commit)
15031503
if (!(ts->status == TRANSACTION_STATUS_UNKNOWN
15041504
|| (ts->status == TRANSACTION_STATUS_IN_PROGRESS && Mtm->status == MTM_RECOVERY)))
15051505
{
1506+
MtmUnlock();
15061507
MTM_ELOG(ERROR, "Attempt to commit %s transaction %s (%llu)",
15071508
MtmTxnStatusMnem[ts->status], ts->gid, (long64)ts->xid);
15081509
}
@@ -2131,7 +2132,7 @@ bool MtmIsRecoveredNode(int nodeId)
21312132
{
21322133
if (BIT_CHECK(Mtm->disabledNodeMask, nodeId-1)) {
21332134
if (!MtmIsRecoverySession) {
2134-
MTM_ELOG(ERROR, "Node %d is marked as disabled but is not in recovery mode", nodeId);
2135+
MTM_ELOG(WARNING, "Node %d is marked as disabled but is not in recovery mode", nodeId);
21352136
}
21362137
return true;
21372138
} else {
@@ -2225,6 +2226,7 @@ MtmLockCluster(void)
22252226
}
22262227
MtmLock(LW_EXCLUSIVE);
22272228
if (BIT_CHECK(Mtm->originLockNodeMask, MtmNodeId-1)) {
2229+
MtmUnlock();
22282230
elog(ERROR, "There is already pending exclusive lock");
22292231
}
22302232
BIT_SET(Mtm->originLockNodeMask, MtmNodeId-1);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy