Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit66e58b0

Browse files
committed
return back votes filtering for disabled nodes; fix bug with tx filtering in JoinTransaction
1 parentb15bacf commit66e58b0

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

‎contrib/mmts/multimaster.c

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,7 +1171,8 @@ void MtmPrecommitTransaction(char const* gid)
11711171
ts->status=TRANSACTION_STATUS_UNKNOWN;
11721172
ts->csn=MtmAssignCSN();
11731173
MtmAdjustSubtransactions(ts);
1174-
MtmSend2PCMessage(ts,MSG_PRECOMMITTED);
1174+
if (Mtm->status!=MTM_RECOVERY)// XXXX why?
1175+
MtmSend2PCMessage(ts,MSG_PRECOMMITTED);
11751176
MtmUnlock();
11761177
Assert(replorigin_session_origin!=InvalidRepOriginId);
11771178
if (!IsTransactionState()) {
@@ -1615,10 +1616,13 @@ void MtmSend2PCMessage(MtmTransState* ts, MtmMessageCode cmd)
16151616
memcpy(msg.gid,ts->gid,MULTIMASTER_MAX_GID_SIZE);
16161617

16171618
Assert(!MtmIsCoordinator(ts));/* All broadcasts are now done through logical decoding */
1618-
MTM_TXTRACE(ts,"MtmSend2PCMessage sending %s message to node %d",MtmMessageKindMnem[cmd],ts->gtid.node);
1619-
msg.node=ts->gtid.node;
1620-
msg.dxid=ts->gtid.xid;
1621-
MtmSendMessage(&msg);
1619+
if (!BIT_CHECK(Mtm->disabledNodeMask,ts->gtid.node-1))
1620+
{
1621+
MTM_TXTRACE(ts,"MtmSend2PCMessage sending %s message to node %d",MtmMessageKindMnem[cmd],ts->gtid.node);
1622+
msg.node=ts->gtid.node;
1623+
msg.dxid=ts->gtid.xid;
1624+
MtmSendMessage(&msg);
1625+
}
16221626
}
16231627

16241628
/*
@@ -1729,11 +1733,6 @@ void MtmJoinTransaction(GlobalTransactionId* gtid, csn_t globalSnapshot, nodemas
17291733
if (globalSnapshot!=INVALID_CSN) {
17301734
MtmLock(LW_EXCLUSIVE);
17311735

1732-
if (BIT_CHECK(Mtm->disabledNodeMask,gtid->node-1)) {
1733-
MtmUnlock();
1734-
MTM_ELOG(ERROR,"Ignore transaction %llu from disabled node %d", (long64)gtid->xid,gtid->node);
1735-
}
1736-
17371736
liveMask= (((nodemask_t)1 <<Mtm->nAllNodes)-1)& ~Mtm->disabledNodeMask;
17381737
BIT_SET(participantsMask,gtid->node-1);
17391738
if (liveMask& ~participantsMask) {

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp