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

Commit91cca9c

Browse files
committed
Merge branch 'master' of github.com:postgrespro/postgres_cluster
2 parents38c4a78 +494e6dc commit91cca9c

File tree

3 files changed

+9
-68
lines changed

3 files changed

+9
-68
lines changed

‎contrib/mmts/arbiter.c‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -665,8 +665,8 @@ static void MtmTransReceiver(Datum arg)
665665
do {
666666
structtimevaltv;
667667
events=inset;
668-
tv.tv_sec=MtmKeepaliveTimeout/USEC;
669-
tv.tv_usec=MtmKeepaliveTimeout%USEC;
668+
tv.tv_sec=MtmKeepaliveTimeout/USECS_PER_SEC;
669+
tv.tv_usec=MtmKeepaliveTimeout%USECS_PER_SEC;
670670
do {
671671
n=select(max_fd+1,&events,NULL,NULL,&tv);
672672
}while (n<0&&errno==EINTR);

‎contrib/mmts/multimaster.c‎

Lines changed: 6 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ typedef enum
9393
#defineMTM_MAP_SIZE 1003
9494
#defineMIN_WAIT_TIMEOUT 1000
9595
#defineMAX_WAIT_TIMEOUT 100000
96-
#defineSTATUS_POLL_DELAYUSEC
96+
#defineSTATUS_POLL_DELAYUSECS_PER_SEC
9797

9898
void_PG_init(void);
9999
void_PG_fini(void);
@@ -262,7 +262,7 @@ timestamp_t MtmGetSystemTime(void)
262262
{
263263
structtimevaltv;
264264
gettimeofday(&tv,NULL);
265-
return (timestamp_t)tv.tv_sec*USEC+tv.tv_usec+Mtm->timeShift;
265+
return (timestamp_t)tv.tv_sec*USECS_PER_SEC+tv.tv_usec+Mtm->timeShift;
266266
}
267267

268268
timestamp_tMtmGetCurrentTime(void)
@@ -402,7 +402,7 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
402402
if (delta>maxSleepTime) {
403403
maxSleepTime=delta;
404404
}
405-
if (now>prevReportTime+USEC*10) {
405+
if (now>prevReportTime+USECS_PER_SEC*10) {
406406
prevReportTime=now;
407407
if (firstReportTime==0) {
408408
firstReportTime=now;
@@ -443,70 +443,13 @@ bool MtmXidInMVCCSnapshot(TransactionId xid, Snapshot snapshot)
443443
* We collest oldest CSNs from all nodes and choose minimum from them.
444444
* If no such XID can be located, then return previously observed oldest XID
445445
*/
446-
#if0
447-
staticTransactionId
448-
MtmAdjustOldestXid(TransactionIdxid)
449-
{
450-
if (TransactionIdIsValid(xid)) {
451-
MtmTransState*ts,*prev=NULL;
452-
csn_toldestSnapshot=0;
453-
inti;
454-
455-
MtmLock(LW_EXCLUSIVE);
456-
for (ts=Mtm->transListHead;ts!=NULL;ts=ts->next) {
457-
if (TransactionIdPrecedes(ts->xid,xid)
458-
&&ts->status==TRANSACTION_STATUS_COMMITTED
459-
&&ts->csn>oldestSnapshot)
460-
{
461-
oldestSnapshot=ts->csn;
462-
}
463-
}
464-
Mtm->nodes[MtmNodeId-1].oldestSnapshot=oldestSnapshot;
465-
for (i=0;i<Mtm->nAllNodes;i++) {
466-
if (!BIT_CHECK(Mtm->disabledNodeMask,i)
467-
&&Mtm->nodes[i].oldestSnapshot<oldestSnapshot)
468-
{
469-
oldestSnapshot=Mtm->nodes[i].oldestSnapshot;
470-
}
471-
}
472-
oldestSnapshot-=MtmVacuumDelay*USEC;
473-
for (ts=Mtm->transListHead;
474-
ts!=NULL
475-
&&ts->csn<oldestSnapshot
476-
&&TransactionIdPrecedes(ts->xid,xid)
477-
&& (ts->status==TRANSACTION_STATUS_COMMITTED||
478-
ts->status==TRANSACTION_STATUS_ABORTED);
479-
ts=ts->next)
480-
{
481-
if (ts->status==TRANSACTION_STATUS_COMMITTED) {
482-
prev=ts;
483-
}
484-
}
485-
if (prev!=NULL) {
486-
for (ts=Mtm->transListHead;ts!=prev;ts=ts->next) {
487-
/* Remove information about too old transactions */
488-
Assert(ts->status!=TRANSACTION_STATUS_UNKNOWN);
489-
hash_search(MtmXid2State,&ts->xid,HASH_REMOVE,NULL);
490-
}
491-
Mtm->transListHead=prev;
492-
Mtm->oldestXid=xid=prev->xid;
493-
}elseif (TransactionIdPrecedes(Mtm->oldestXid,xid)) {
494-
xid=Mtm->oldestXid;
495-
}
496-
MtmUnlock();
497-
}
498-
returnxid;
499-
}
500-
#else
501446
staticTransactionId
502447
MtmAdjustOldestXid(TransactionIdxid)
503448
{
504449
if (TransactionIdIsValid(xid)) {
505450
MtmTransState*ts,*prev=NULL;
506451
inti;
507452

508-
returnFirstNormalTransactionId;
509-
510453
MtmLock(LW_EXCLUSIVE);
511454
ts= (MtmTransState*)hash_search(MtmXid2State,&xid,HASH_FIND,NULL);
512455
if (ts!=NULL&&ts->status==TRANSACTION_STATUS_COMMITTED) {
@@ -519,7 +462,7 @@ MtmAdjustOldestXid(TransactionId xid)
519462
oldestSnapshot=Mtm->nodes[i].oldestSnapshot;
520463
}
521464
}
522-
oldestSnapshot-=MtmVacuumDelay*USEC;
465+
oldestSnapshot-=MtmVacuumDelay*USECS_PER_SEC;
523466

524467
for (ts=Mtm->transListHead;
525468
ts!=NULL
@@ -541,7 +484,7 @@ MtmAdjustOldestXid(TransactionId xid)
541484
Mtm->transListHead=prev;
542485
Mtm->oldestXid=xid=prev->xid;
543486
}else {
544-
Assert(TransactionIdPrecedesOrEqual(Mtm->oldestXid,xid));
487+
Assert(TransactionIdPrecedesOrEquals(Mtm->oldestXid,xid));
545488
xid=Mtm->oldestXid;
546489
}
547490
}else {
@@ -553,7 +496,6 @@ MtmAdjustOldestXid(TransactionId xid)
553496
}
554497
returnxid;
555498
}
556-
#endif
557499
/*
558500
* -------------------------------------------
559501
* Transaction list manipulation
@@ -2357,7 +2299,7 @@ mtm_get_nodes_state(PG_FUNCTION_ARGS)
23572299
usrfctx->values[4]=Int64GetDatum(lag);
23582300
usrfctx->nulls[4]=lag<0;
23592301
usrfctx->values[5]=Int64GetDatum(Mtm->transCount ?Mtm->nodes[usrfctx->nodeId-1].transDelay/Mtm->transCount :0);
2360-
usrfctx->values[6]=TimestampTzGetDatum(time_t_to_timestamptz(Mtm->nodes[usrfctx->nodeId-1].lastStatusChangeTime/USEC));
2302+
usrfctx->values[6]=TimestampTzGetDatum(time_t_to_timestamptz(Mtm->nodes[usrfctx->nodeId-1].lastStatusChangeTime/USECS_PER_SEC));
23612303
usrfctx->values[7]=CStringGetTextDatum(Mtm->nodes[usrfctx->nodeId-1].con.connStr);
23622304
usrfctx->nodeId+=1;
23632305

‎contrib/mmts/multimaster.h‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,7 @@
4646
#defineMULTIMASTER_BROADCAST_SERVICE "mtm_broadcast"
4747
#defineMULTIMASTER_ADMIN "mtm_admin"
4848

49-
#defineUSEC 1000000
50-
#defineMB (1024*1024)
49+
#defineMB (1024*1024L)
5150

5251
#defineUSEC_TO_MSEC(t) ((t)/1000)
5352
#defineMSEC_TO_USEC(t) ((t)*1000)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp