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

Commit 8d514e8

Browse files
knizhnikkelvich
authored andcommitted
Fix 2pc commit of transaction updating temporary table
1 parent 6ea8568 commit 8d514e8

File tree

2 files changed

+14
-13
lines changed

2 files changed

+14
-13
lines changed

multimaster.c

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1133,7 +1133,7 @@ MtmPostPrepareTransaction(MtmCurrentTrans* x)
11331133
MTM_TXTRACE(x, "recovery? 5");
11341134
MtmResetTransaction();
11351135
MTM_TXTRACE(x, "recovery? 6");
1136-
} else {
1136+
} else if (!ts->isLocal) {
11371137
MTM_TXTRACE(x, "not recovery?");
11381138
Mtm2PCVoting(x, ts);
11391139
MtmUnlock();
@@ -1170,18 +1170,19 @@ MtmPreCommitPreparedTransaction(MtmCurrentTrans* x)
11701170
ts = tm->state;
11711171

11721172
Assert(MtmIsCoordinator(ts));
1173+
if (!ts->isLocal) {
1174+
ts->votingCompleted = false;
1175+
ts->votedMask = 0;
1176+
ts->procno = MyProc->pgprocno;
1177+
MTM_LOG2("Coordinator of transaction %s sends MSG_PRECOMMIT", ts->gid);
1178+
Assert(replorigin_session_origin == InvalidRepOriginId);
1179+
MtmUnlock();
1180+
SetPreparedTransactionState(ts->gid, MULTIMASTER_PRECOMMITTED);
1181+
//MtmSend2PCMessage(ts, MSG_PRECOMMIT);
1182+
MtmLock(LW_EXCLUSIVE);
11731183

1174-
ts->votingCompleted = false;
1175-
ts->votedMask = 0;
1176-
ts->procno = MyProc->pgprocno;
1177-
MTM_LOG2("Coordinator of transaction %s sends MSG_PRECOMMIT", ts->gid);
1178-
Assert(replorigin_session_origin == InvalidRepOriginId);
1179-
MtmUnlock();
1180-
SetPreparedTransactionState(ts->gid, MULTIMASTER_PRECOMMITTED);
1181-
//MtmSend2PCMessage(ts, MSG_PRECOMMIT);
1182-
MtmLock(LW_EXCLUSIVE);
1183-
1184-
Mtm2PCVoting(x, ts);
1184+
Mtm2PCVoting(x, ts);
1185+
}
11851186

11861187
x->xid = ts->xid;
11871188
x->csn = ts->csn;

tests2/test_regression.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def setUpClass(self):
1515
@classmethod
1616
def tearDownClass(self):
1717
print('tearDown')
18-
subprocess.check_call(['docker-compose','down'])
18+
# subprocess.check_call(['docker-compose','down'])
1919

2020
def test_regression(self):
2121
# XXX: make smth clever here

0 commit comments

Comments
 (0)