forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit3fa17d3

Amit Kapila
Use HTAB for replication slot statistics.
Previously, we used to use the array of size max_replication_slots tostore stats for replication slots. But that had two problems in the caseswhere a message for dropping a slot gets lost: 1) the stats for the newslot are not recorded if the array is full and 2) writing beyond the endof the array if the user reduces the max_replication_slots.This commit uses HTAB for replication slot statistics, resolving bothproblems. Now, pgstat_vacuum_stat() search for all the dead replicationslots in stats hashtable and tell the collector to remove them. To avoidshowing the stats for the already-dropped slots, pg_stat_replication_slotsview searches slot stats by the slot name taken from pg_replication_slots.Also, we send a message for creating a slot at slot creation, initializingthe stats. This reduces the possibility that the stats are accumulatedinto the old slot stats when a message for dropping a slot gets lost.Reported-by: Andres FreundAuthor: Sawada Masahiko, test case by Vignesh CReviewed-by: Amit Kapila, Vignesh C, Dilip KumarDiscussion:https://postgr.es/m/20210319185247.ldebgpdaxsowiflw@alap3.anarazel.de1 parente7eea52 commit3fa17d3
File tree
12 files changed
+389
-260
lines changed- contrib/test_decoding/t
- src
- backend
- catalog
- postmaster
- replication
- logical
- utils/adt
- include
- catalog
- replication
- test/regress/expected
- tools/pgindent
12 files changed
+389
-260
lines changedLines changed: 54 additions & 15 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
2 | 2 |
| |
3 | 3 |
| |
4 | 4 |
| |
| 5 | + | |
5 | 6 |
| |
6 | 7 |
| |
7 |
| - | |
| 8 | + | |
8 | 9 |
| |
9 | 10 |
| |
10 | 11 |
| |
11 | 12 |
| |
12 | 13 |
| |
13 | 14 |
| |
14 | 15 |
| |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
15 | 30 |
| |
16 |
| - | |
17 |
| - | |
| 31 | + | |
18 | 32 |
| |
19 | 33 |
| |
20 | 34 |
| |
| |||
26 | 40 |
| |
27 | 41 |
| |
28 | 42 |
| |
29 |
| - | |
| 43 | + | |
| 44 | + | |
30 | 45 |
| |
31 | 46 |
| |
32 | 47 |
| |
| |||
50 | 65 |
| |
51 | 66 |
| |
52 | 67 |
| |
53 |
| - | |
| 68 | + | |
| 69 | + | |
54 | 70 |
| |
55 | 71 |
| |
56 | 72 |
| |
57 | 73 |
| |
58 | 74 |
| |
59 | 75 |
| |
60 |
| - | |
61 |
| - | |
62 |
| - | |
63 |
| - | |
64 |
| - | |
65 |
| - | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
66 | 79 |
| |
67 |
| - | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
68 | 106 |
| |
69 | 107 |
| |
70 | 108 |
| |
71 |
| - | |
72 |
| - | |
73 |
| - | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
74 | 113 |
| |
75 | 114 |
| |
76 | 115 |
|
Lines changed: 16 additions & 14 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
866 | 866 |
| |
867 | 867 |
| |
868 | 868 |
| |
869 |
| - | |
870 |
| - | |
871 |
| - | |
872 |
| - | |
873 |
| - | |
874 |
| - | |
875 |
| - | |
876 |
| - | |
877 |
| - | |
878 |
| - | |
879 |
| - | |
880 |
| - | |
881 |
| - | |
882 |
| - | |
883 | 869 |
| |
884 | 870 |
| |
885 | 871 |
| |
| |||
984 | 970 |
| |
985 | 971 |
| |
986 | 972 |
| |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
| 977 | + | |
| 978 | + | |
| 979 | + | |
| 980 | + | |
| 981 | + | |
| 982 | + | |
| 983 | + | |
| 984 | + | |
| 985 | + | |
| 986 | + | |
| 987 | + | |
| 988 | + | |
987 | 989 |
| |
988 | 990 |
| |
989 | 991 |
| |
|
0 commit comments
Comments
(0)