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

Commit 125d7b8

Browse files
knizhnikkelvich
authored andcommitted
Dump hash info
1 parent 66ee06f commit 125d7b8

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

multimaster--1.0.sql

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,14 @@ AS 'MODULE_PATHNAME','mtm_get_snapshot'
2828
LANGUAGE C;
2929

3030

31-
CREATE TYPE mtm.node_state AS ("id" integer, "disabled" bool, "disconnected" bool, "catchUp" bool, "slotLag" bigint, "avgTransDelay" bigint, "lastStatusChange" timestamp, "connStr" text);
31+
CREATE TYPE mtm.node_state AS ("id" integer, "disabled" bool, "disconnected" bool, "catchUp" bool, "slotLag" bigint, "avgTransDelay" bigint, "lastStatusChange" timestamp, "oldestSnapshot" bigint, "connStr" text);
3232

3333
CREATE FUNCTION mtm.get_nodes_state() RETURNS SETOF mtm.node_state
3434
AS 'MODULE_PATHNAME','mtm_get_nodes_state'
3535
LANGUAGE C;
3636

37-
CREATE TYPE mtm.cluster_state AS ("status" text, "disabledNodeMask" bigint, "disconnectedNodeMask" bigint, "catchUpNodeMask" bigint, "liveNodes" integer, "allNodes" integer, "nActiveQueries" integer, "nPendingQueries" integer, "queueSize" bigint, "transCount" bigint, "timeShift" bigint, "recoverySlot" integer);
37+
CREATE TYPE mtm.cluster_state AS ("status" text, "disabledNodeMask" bigint, "disconnectedNodeMask" bigint, "catchUpNodeMask" bigint, "liveNodes" integer, "allNodes" integer, "nActiveQueries" integer, "nPendingQueries" integer, "queueSize" bigint, "transCount" bigint, "timeShift" bigint, "recoverySlot" integer,
38+
"xidHashSize" bigint, "gidHashSize" bigint, "oldestSnapshot" bigint, "configChanges" integer);
3839

3940
CREATE FUNCTION mtm.get_cluster_state() RETURNS mtm.cluster_state
4041
AS 'MODULE_PATHNAME','mtm_get_cluster_state'

multimaster.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2308,7 +2308,8 @@ mtm_get_nodes_state(PG_FUNCTION_ARGS)
23082308
usrfctx->nulls[4] = lag < 0;
23092309
usrfctx->values[5] = Int64GetDatum(Mtm->transCount ? Mtm->nodes[usrfctx->nodeId-1].transDelay/Mtm->transCount : 0);
23102310
usrfctx->values[6] = TimestampTzGetDatum(time_t_to_timestamptz(Mtm->nodes[usrfctx->nodeId-1].lastStatusChangeTime/USECS_PER_SEC));
2311-
usrfctx->values[7] = CStringGetTextDatum(Mtm->nodes[usrfctx->nodeId-1].con.connStr);
2311+
usrfctx->values[7] = Int64GetDatum(Mtm->nodes[usrfctx->nodeId-1].oldestSnapshot);
2312+
usrfctx->values[8] = CStringGetTextDatum(Mtm->nodes[usrfctx->nodeId-1].con.connStr);
23122313
usrfctx->nodeId += 1;
23132314

23142315
SRF_RETURN_NEXT(funcctx, HeapTupleGetDatum(heap_form_tuple(usrfctx->desc, usrfctx->values, usrfctx->nulls)));
@@ -2335,6 +2336,10 @@ mtm_get_cluster_state(PG_FUNCTION_ARGS)
23352336
values[9] = Int64GetDatum(Mtm->transCount);
23362337
values[10] = Int64GetDatum(Mtm->timeShift);
23372338
values[11] = Int32GetDatum(Mtm->recoverySlot);
2339+
values[12] = Int64GetDatum(hash_get_num_entries(MtmXid2State));
2340+
values[13] = Int64GetDatum(hash_get_num_entries(MtmGid2State));
2341+
values[14] = Int64GetDatum(Mtm->oldestSnapshot);
2342+
values[15] = Int32GetDatum(Mtm->nConfigChanges);
23382343

23392344
PG_RETURN_DATUM(HeapTupleGetDatum(heap_form_tuple(desc, values, nulls)));
23402345
}

multimaster.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@
5959
#define Anum_mtm_local_tables_rel_schema 1
6060
#define Anum_mtm_local_tables_rel_name 2
6161

62-
#define Natts_mtm_cluster_state 12
63-
#define Natts_mtm_nodes_state 8
62+
#define Natts_mtm_cluster_state 16
63+
#define Natts_mtm_nodes_state 9
6464

6565
typedef uint64 csn_t; /* commit serial number */
6666
#define INVALID_CSN ((csn_t)-1)

0 commit comments

Comments
 (0)