Skip to content

Commit c21a6de

Browse files
withRiverrjd15372
authored andcommitted
Reset cluster related stats in CONFIG RESETSTATS (#2458)
Previously CONFIG RESETSTATS only resets the slot statistics in cluster part, this PR makes it reset cluster bus messages at well. Additionally, we also reset stat_cluster_links_buffer_limit_exceeded. Now we will reset: - cluster_stats_messages_sent* - cluster_stats_messages_received* - total_cluster_links_buffer_limit_exceeded Closes #2439. Signed-off-by: Hongrui <2086160503@qq.com>
1 parent 8bacd70 commit c21a6de

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

src/cluster.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1594,6 +1594,10 @@ void resetClusterStats(void) {
15941594
if (!server.cluster_enabled) return;
15951595

15961596
clusterSlotStatResetAll();
1597+
1598+
memset(server.cluster->stats_bus_messages_sent, 0, sizeof(server.cluster->stats_bus_messages_sent));
1599+
memset(server.cluster->stats_bus_messages_received, 0, sizeof(server.cluster->stats_bus_messages_received));
1600+
server.cluster->stat_cluster_links_buffer_limit_exceeded = 0;
15971601
}
15981602

15991603
void clusterCommandFlushslot(client *c) {

tests/unit/cluster/info.tcl

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,28 @@ start_cluster 3 0 {tags {external:skip cluster} overrides {cluster-node-timeout
6363
resume_process [srv -1 pid]
6464
wait_for_cluster_state ok
6565
}
66+
67+
test "CONFIG RESETSTAT resets cluster related stats" {
68+
R 0 config set cluster-link-sendbuf-limit 1
69+
wait_for_condition 1000 10 {
70+
[CI 0 cluster_stats_messages_sent] >= 1 &&
71+
[CI 0 cluster_stats_messages_received] >= 1 &&
72+
[CI 0 total_cluster_links_buffer_limit_exceeded] >= 1
73+
} else {
74+
fail "R 0 related info fields are not as expected"
75+
}
76+
77+
R 0 multi
78+
R 0 config resetstat
79+
R 0 cluster info
80+
set info [lindex [R 0 exec] 1]
81+
82+
assert_equal [getInfoProperty $info cluster_stats_messages_sent] 0
83+
assert_equal [getInfoProperty $info cluster_stats_messages_received] 0
84+
assert_equal [getInfoProperty $info total_cluster_links_buffer_limit_exceeded] 0
85+
86+
R 0 config set cluster-link-sendbuf-limit 0
87+
}
6688
}
6789

6890
start_cluster 3 0 {tags {external:skip cluster} overrides {cluster-node-timeout 1000}} {

0 commit comments

Comments
 (0)