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

Commit b518b35

Browse files
committed
PGPRO-680 # implement referee background worker
1 parent 386b0c1 commit b518b35

File tree

10 files changed

+449
-234
lines changed

10 files changed

+449
-234
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/arbitrator/arbitrator.cpp

Lines changed: 0 additions & 164 deletions
This file was deleted.

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
#define BIT_CHECK(mask, bit) (((mask) & ((nodemask_t)1 << (bit))) != 0)
1515
#define BIT_CLEAR(mask, bit) (mask &= ~((nodemask_t)1 << (bit)))
1616
#define BIT_SET(mask, bit) (mask |= ((nodemask_t)1 << (bit)))
17+
#define ALL_BITS ((nodemask_t)~0)
1718

1819
extern nodemask_t MtmFindMaxClique(nodemask_t* matrix, int n_modes, int* clique_size);
1920

contrib/mmts/multimaster--1.0.sql

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

5353
CREATE TYPE mtm.cluster_state AS ("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
CREATE TYPE mtm.trans_state AS ("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

@@ -99,8 +99,8 @@ CREATE FUNCTION mtm.check_deadlock(xid bigint) RETURNS boolean
9999
AS 'MODULE_PATHNAME','mtm_check_deadlock'
100100
LANGUAGE C;
101101

102-
CREATE FUNCTION mtm.arbitraror_poll_status(xid bigint) RETURNS bigint
103-
AS 'MODULE_PATHNAME','mtm_arbitrator_poll'
102+
CREATE FUNCTION mtm.referee_poll(xid bigint) RETURNS bigint
103+
AS 'MODULE_PATHNAME','mtm_referee_poll'
104104
LANGUAGE C;
105105

106106
CREATE TABLE IF NOT EXISTS mtm.local_tables(rel_schema text, rel_name text, primary key(rel_schema, rel_name));

0 commit comments

Comments
 (0)