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

Commiteb07cf6

Browse files
knizhnikkelvich
authored andcommitted
Fix locking in MtmRefreshClusterStatus
1 parent9bf3fb8 commiteb07cf6

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

‎arbiter.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ static void MtmSendHeartbeat()
354354
msg.oldestSnapshot=Mtm->nodes[MtmNodeId-1].oldestSnapshot;
355355
msg.node=MtmNodeId;
356356
msg.csn=now;
357-
if (last_sent_heartbeat+MSEC_TO_USEC(MtmHeartbeatSendTimeout)*2<now) {
357+
if (last_sent_heartbeat!=0&&last_sent_heartbeat+MSEC_TO_USEC(MtmHeartbeatSendTimeout)*2<now) {
358358
MTM_LOG1("More than %ld microseconds since last heartbeat",now-last_sent_heartbeat);
359359
}
360360
last_sent_heartbeat=now;
@@ -1024,7 +1024,7 @@ static void MtmTransReceiver(Datum arg)
10241024
MTM_LOG1("Last hearbeat from node %d received %ld microseconds ago",i+1,now-Mtm->nodes[i].lastHeartbeat);
10251025
}
10261026
}
1027-
MTM_LOG1("epoll started %ld and finished %ld microseconds ago",now-startPolling,now-stopPolling);
1027+
MTM_LOG2("epoll started %ld and finished %ld microseconds ago",now-startPolling,now-stopPolling);
10281028
}
10291029
lastHeartbeatCheck=now;
10301030
}

‎multimaster.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -567,7 +567,7 @@ MtmAdjustOldestXid(TransactionId xid)
567567
if (MtmUseDtm)
568568
{
569569
if (prev!=NULL) {
570-
MTM_LOG1("%d: MtmAdjustOldestXid: oldestXid=%d, prev->xid=%d, prev->status=%d, prev->snapshot=%ld, ts->xid=%d, ts->status=%d, ts->snapshot=%ld, oldestSnapshot=%ld",
570+
MTM_LOG2("%d: MtmAdjustOldestXid: oldestXid=%d, prev->xid=%d, prev->status=%d, prev->snapshot=%ld, ts->xid=%d, ts->status=%d, ts->snapshot=%ld, oldestSnapshot=%ld",
571571
MyProcPid,xid,prev->xid,prev->status,prev->snapshot, (ts ?ts->xid :0), (ts ?ts->status :-1), (ts ?ts->snapshot :-1),oldestSnapshot);
572572
Mtm->transListHead=prev;
573573
Mtm->oldestXid=xid=prev->xid;
@@ -886,7 +886,7 @@ MtmPostPrepareTransaction(MtmCurrentTrans* x)
886886
MtmLock(LW_EXCLUSIVE);
887887
ts=hash_search(MtmXid2State,&x->xid,HASH_FIND,NULL);
888888
Assert(ts!=NULL);
889-
if (x->gid[0])MTM_LOG1("Preparing transaction %d (%s) at %ld",x->xid,x->gid,MtmGetCurrentTime());
889+
//if (x->gid[0]) MTM_LOG1("Preparing transaction %d (%s) at %ld", x->xid, x->gid, MtmGetCurrentTime());
890890
if (!MtmIsCoordinator(ts)||Mtm->status==MTM_RECOVERY) {
891891
boolfound;
892892
MtmTransMap*tm= (MtmTransMap*)hash_search(MtmGid2State,x->gid,HASH_ENTER,&found);
@@ -940,7 +940,7 @@ MtmPostPrepareTransaction(MtmCurrentTrans* x)
940940
MTM_LOG3("%d: Result of vote: %d",MyProcPid,ts->status);
941941
MtmUnlock();
942942
}
943-
if (x->gid[0])MTM_LOG1("Prepared transaction %d (%s) csn=%ld at %ld: %d",x->xid,x->gid,ts->csn,MtmGetCurrentTime(),ts->status);
943+
//if (x->gid[0]) MTM_LOG1("Prepared transaction %d (%s) csn=%ld at %ld: %d", x->xid, x->gid, ts->csn, MtmGetCurrentTime(), ts->status);
944944
if (Mtm->inject2PCError==3) {
945945
Mtm->inject2PCError=0;
946946
elog(ERROR,"ERROR INJECTION for transaction %d (%s)",x->xid,x->gid);
@@ -2596,7 +2596,9 @@ MtmReplicationStartupHook(struct PGLogicalStartupHookArgs* args)
25962596
}else {
25972597
MtmUnlock();
25982598
MtmRefreshClusterStatus(true);
2599+
MtmLock(LW_SHARED);
25992600
if (BIT_CHECK(Mtm->disabledNodeMask,MtmReplicationNodeId-1)) {
2601+
MtmUnlock();
26002602
elog(ERROR,"Disabled node %d tries to reconnect without recovery",MtmReplicationNodeId);
26012603
}
26022604
}

‎pglogical_apply.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,7 @@ process_remote_begin(StringInfo s)
343343

344344
inside_tx= true;
345345

346-
MTM_LOG1("REMOTE begin node=%d xid=%d snapshot=%ld",gtid.node,gtid.xid,snapshot);
346+
MTM_LOG2("REMOTE begin node=%d xid=%d snapshot=%ld",gtid.node,gtid.xid,snapshot);
347347
}
348348

349349
staticvoid
@@ -624,7 +624,7 @@ process_remote_commit(StringInfo in)
624624
gid=pq_getmsgstring(in);
625625
MTM_LOG2("PGLOGICAL_ABORT_PREPARED commit: gid=%s",gid);
626626
if (MtmExchangeGlobalTransactionStatus(gid,TRANSACTION_STATUS_ABORTED)==TRANSACTION_STATUS_UNKNOWN) {
627-
MTM_LOG1("PGLOGICAL_ABORT_PREPARED commit: gid=%s #2",gid);
627+
MTM_LOG2("PGLOGICAL_ABORT_PREPARED commit: gid=%s #2",gid);
628628
StartTransactionCommand();
629629
MtmBeginSession();
630630
MtmSetCurrentTransactionGID(gid);
@@ -967,7 +967,7 @@ void MtmExecutor(int id, void* work, size_t size)
967967
{
968968
while (true) {
969969
charaction=pq_getmsgbyte(&s);
970-
MTM_LOG1("%d: REMOTE process action %c",MyProcPid,action);
970+
MTM_LOG2("%d: REMOTE process action %c",MyProcPid,action);
971971
#if0
972972
if (Mtm->status==MTM_RECOVERY) {
973973
MTM_LOG1("Replay action %c[%x]",action,s.data[s.cursor]);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp