File tree 4 files changed +24
-3
lines changed
4 files changed +24
-3
lines changed Original file line number Diff line number Diff line change 36
36
#define MULTIMASTER_ADMIN "mtm_admin"
37
37
#define MULTIMASTER_PRECOMMITTED "precommitted"
38
38
#define MULTIMASTER_PREABORTED "preaborted"
39
- #define MULTIMASTER_SYNCPOINT_INTERVAL 10*1024*1024
40
39
41
40
#define MTM_MAX_NODES 16
42
41
Original file line number Diff line number Diff line change @@ -33,6 +33,10 @@ typedef struct
33
33
XLogRecPtr origin_lsn ;
34
34
} FilterEntry ;
35
35
36
+
37
+ extern int MtmSyncpointInterval ;
38
+
39
+
36
40
extern void MaybeLogSyncpoint (void );
37
41
extern void SyncpointRegister (int origin_node_id , XLogRecPtr origin_lsn ,
38
42
XLogRecPtr receiver_lsn );
Original file line number Diff line number Diff line change 38
38
#include "logger.h"
39
39
#include "commit.h"
40
40
#include "messaging.h"
41
+ #include "syncpoint.h"
41
42
42
43
#include "compat.h"
43
44
@@ -584,6 +585,21 @@ NULL);
584
585
NULL
585
586
);
586
587
588
+ DefineCustomIntVariable (
589
+ "multimaster.syncpoint_interval" ,
590
+ "Size of generated WAL between syncpoints" ,
591
+ NULL ,
592
+ & MtmSyncpointInterval ,
593
+ 10 * 1024 , /* 10 MB */
594
+ 0 ,
595
+ INT_MAX ,
596
+ PGC_SIGHUP ,
597
+ GUC_UNIT_KB ,
598
+ NULL ,
599
+ NULL ,
600
+ NULL
601
+ );
602
+
587
603
/* MtmDeadlockDetectorInit(MTM_MAX_NODES); */
588
604
589
605
/*
Original file line number Diff line number Diff line change 46
46
#include "syncpoint.h"
47
47
#include "logger.h"
48
48
49
+ int MtmSyncpointInterval ; /* in kilobytes */
50
+
49
51
/* XXX: change to some receiver-local structures */
50
52
static int
51
53
origin_id_to_node_id (RepOriginId origin_id , MtmConfig * mtm_cfg )
87
89
MaybeLogSyncpoint (void )
88
90
{
89
91
/* do unlocked check first */
90
- if (GetInsertRecPtr () - Mtm -> latestSyncpoint < MULTIMASTER_SYNCPOINT_INTERVAL )
92
+ if (GetInsertRecPtr () - Mtm -> latestSyncpoint < MtmSyncpointInterval * 1024 )
91
93
return ;
92
94
93
95
LWLockAcquire (Mtm -> syncpoint_lock , LW_EXCLUSIVE );
94
- if (GetInsertRecPtr () - Mtm -> latestSyncpoint >= MULTIMASTER_SYNCPOINT_INTERVAL )
96
+ if (GetInsertRecPtr () - Mtm -> latestSyncpoint >= MtmSyncpointInterval * 1024 )
95
97
{
96
98
XLogRecPtr syncpoint_lsn ;
97
99
You can’t perform that action at this time.
0 commit comments