@@ -1503,6 +1503,7 @@ MtmEndTransaction(MtmCurrentTrans* x, bool commit)
1503
1503
if (!(ts -> status == TRANSACTION_STATUS_UNKNOWN
1504
1504
|| (ts -> status == TRANSACTION_STATUS_IN_PROGRESS && Mtm -> status == MTM_RECOVERY )))
1505
1505
{
1506
+ MtmUnlock ();
1506
1507
MTM_ELOG (ERROR ,"Attempt to commit %s transaction %s (%llu)" ,
1507
1508
MtmTxnStatusMnem [ts -> status ],ts -> gid , (long64 )ts -> xid );
1508
1509
}
@@ -2131,7 +2132,7 @@ bool MtmIsRecoveredNode(int nodeId)
2131
2132
{
2132
2133
if (BIT_CHECK (Mtm -> disabledNodeMask ,nodeId - 1 )) {
2133
2134
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 );
2135
2136
}
2136
2137
return true;
2137
2138
}else {
@@ -2225,6 +2226,7 @@ MtmLockCluster(void)
2225
2226
}
2226
2227
MtmLock (LW_EXCLUSIVE );
2227
2228
if (BIT_CHECK (Mtm -> originLockNodeMask ,MtmNodeId - 1 )) {
2229
+ MtmUnlock ();
2228
2230
elog (ERROR ,"There is already pending exclusive lock" );
2229
2231
}
2230
2232
BIT_SET (Mtm -> originLockNodeMask ,MtmNodeId - 1 );