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

Commitc8a9610

Browse files
committed
Merge branch 'PGPROEE9_6_MULTIMASTER' of gitlab.postgrespro.ru:pgpro-dev/postgrespro into PGPROEE9_6_MULTIMASTER
2 parents6750a00 +a1aeea6 commitc8a9610

File tree

23 files changed

+1794
-1124
lines changed

23 files changed

+1794
-1124
lines changed

‎contrib/mmts/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
EXTENSION = multimaster
33
DATA = multimaster--1.0.sql
4-
OBJS = multimaster.o arbiter.o bytebuf.o bgwpool.o pglogical_output.o pglogical_proto.o pglogical_receiver.o pglogical_apply.o pglogical_hooks.o pglogical_config.o pglogical_relid_map.o ddd.o bkb.o spill.o
4+
OBJS = multimaster.o arbiter.o bytebuf.o bgwpool.o pglogical_output.o pglogical_proto.o pglogical_receiver.o pglogical_apply.o pglogical_hooks.o pglogical_config.o pglogical_relid_map.o ddd.o bkb.o spill.o referee.o
55
MODULE_big = multimaster
66

77
PG_CPPFLAGS = -I$(libpq_srcdir)

‎contrib/mmts/arbiter.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,8 +467,12 @@ static int MtmConnectSocket(int node, int port)
467467
MTM_ELOG(WARNING,"Arbiter trying to connect to %s:%d: %s",host,port,strerror(errcode));
468468
gotoError;
469469
}
470-
}else {
471-
MTM_ELOG(WARNING,"Arbiter waiting socket to %s:%d: %s",host,port,strerror(errno));
470+
}elseif (rc==0) {
471+
MTM_ELOG(WARNING,"Arbiter failed to connect to socket to %s:%d within specified timeout",host,port);
472+
gotoError;
473+
}else {
474+
MTM_ELOG(WARNING,"Arbiter failed to wait socket to %s:%d: %s",host,port,strerror(errno));
475+
gotoError;
472476
}
473477
}
474478
elseif (rc!=0) {

‎contrib/mmts/bkb.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ typedef ulong64 nodemask_t;
1414
#defineBIT_CHECK(mask,bit) (((mask) & ((nodemask_t)1 << (bit))) != 0)
1515
#defineBIT_CLEAR(mask,bit) (mask &= ~((nodemask_t)1 << (bit)))
1616
#defineBIT_SET(mask,bit) (mask |= ((nodemask_t)1 << (bit)))
17+
#defineALL_BITS ((nodemask_t)~0)
1718

1819
externnodemask_tMtmFindMaxClique(nodemask_t*matrix,intn_modes,int*clique_size);
1920

‎contrib/mmts/multimaster--1.0.sql

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ AS 'MODULE_PATHNAME','mtm_get_nodes_state'
5151
LANGUAGE C;
5252

5353
CREATETYPEmtm.cluster_stateAS ("id"integer,"status"text,"disabledNodeMask"bigint,"disconnectedNodeMask"bigint,"catchUpNodeMask"bigint,"liveNodes"integer,"allNodes"integer,"nActiveQueries"integer,"nPendingQueries"integer,"queueSize"bigint,"transCount"bigint,"timeShift"bigint,"recoverySlot"integer,
54-
"xidHashSize"bigint,"gidHashSize"bigint,"oldestXid"bigint,"configChanges"integer,"stalledNodeMask"bigint,"stoppedNodeMask"bigint,"lastStatusChange"timestamp);
54+
"xidHashSize"bigint,"gidHashSize"bigint,"oldestXid"bigint,"configChanges"integer,"stalledNodeMask"bigint,"stoppedNodeMask"bigint,"deadNodeMask"bigint,"lastStatusChange"timestamp);
5555

5656
CREATETYPEmtm.trans_stateAS ("status"text,"gid"text,"xid"bigint,"coordinator"integer,"gxid"bigint,"csn"timestamp,"snapshot"timestamp,"local"boolean,"prepared"boolean,"active"boolean,"twophase"boolean,"votingCompleted"boolean,"participants"bigint,"voted"bigint,"configChanges"integer);
5757

@@ -75,6 +75,14 @@ CREATE FUNCTION mtm.make_table_local(relation regclass) RETURNS void
7575
AS'MODULE_PATHNAME','mtm_make_table_local'
7676
LANGUAGE C;
7777

78+
CREATEFUNCTIONmtm.broadcast_table(srcTable regclass, dstNodesMaskbigint) RETURNS void
79+
AS'MODULE_PATHNAME','mtm_broadcast_table'
80+
LANGUAGE C;
81+
82+
CREATEFUNCTIONmtm.copy_table(srcTable regclass, dstNodeinteger) RETURNS void
83+
AS'MODULE_PATHNAME','mtm_copy_table'
84+
LANGUAGE C;
85+
7886
CREATEFUNCTIONmtm.dump_lock_graph() RETURNStext
7987
AS'MODULE_PATHNAME','mtm_dump_lock_graph'
8088
LANGUAGE C;
@@ -91,6 +99,10 @@ CREATE FUNCTION mtm.check_deadlock(xid bigint) RETURNS boolean
9199
AS'MODULE_PATHNAME','mtm_check_deadlock'
92100
LANGUAGE C;
93101

102+
CREATEFUNCTIONmtm.referee_poll(xidbigint) RETURNSbigint
103+
AS'MODULE_PATHNAME','mtm_referee_poll'
104+
LANGUAGE C;
105+
94106
CREATETABLEIF NOT EXISTSmtm.local_tables(rel_schematext, rel_nametext,primary key(rel_schema, rel_name));
95107

96108
CREATE OR REPLACEFUNCTIONmtm.alter_sequences() RETURNSbooleanAS

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp