Skip to content

Commit 4103ad5

Browse files
committed
bug redis: disconnect slots on stop in standalone topology holder
`ClusterTopologyHolder::Stop()` was not disconnecting the slots, resulting in new events apearing after the `Stop()`: ``` /userver/redis/src/storages/redis/impl/cluster_sentinel_impl.cpp:886:13: runtime error: member access within address 0x51100001e040 which does not point to an object of type 'userver_ns::storages::redis::impl::ClusterSentinelImpl' 1: 0x51100001e040: note: object has invalid vptr 1: 04 00 00 00 fc 42 00 00 03 00 00 00 d0 7d 01 00 30 51 00 00 80 39 06 00 60 51 00 00 00 00 00 00 1: ^~~~~~~~~~~~~~~~~~~~~~~ 1: invalid vptr ``` Tests: протестировано CI commit_hash:339ccdcc1e6deeb0e2ac2f733d33c9f82edfdf21
1 parent 73cc937 commit 4103ad5

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

redis/src/storages/redis/impl/standalone_topology_holder.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ void StandaloneTopologyHolder::Start() {
3838
}
3939

4040
void StandaloneTopologyHolder::Stop() {
41+
signal_node_state_change_.disconnect_all_slots();
42+
signal_topology_changed_.disconnect_all_slots();
43+
4144
node_.Cleanup();
4245
topology_.Cleanup();
4346
}

0 commit comments

Comments
 (0)