diff --git a/src/server/cluster/outgoing_slot_migration.cc b/src/server/cluster/outgoing_slot_migration.cc index 1a7235b00..ee13c8991 100644 --- a/src/server/cluster/outgoing_slot_migration.cc +++ b/src/server/cluster/outgoing_slot_migration.cc @@ -34,6 +34,10 @@ class OutgoingMigration::SliceSlotMigration : private ProtocolClient { : ProtocolClient(server_context), streamer_(slice, std::move(slots), journal, &cntx_) { } + ~SliceSlotMigration() { + streamer_.Cancel(); + } + // Send DFLYMIGRATE FLOW void PrepareFlow(const std::string& node_id) { uint32_t shard_id = EngineShard::tlocal()->shard_id(); diff --git a/tests/dragonfly/cluster_test.py b/tests/dragonfly/cluster_test.py index a2a247a3a..62cf1ce2c 100644 --- a/tests/dragonfly/cluster_test.py +++ b/tests/dragonfly/cluster_test.py @@ -1074,7 +1074,6 @@ async def test_config_consistency(df_factory: DflyInstanceFactory): await close_clients(*[node.client for node in nodes], *[node.admin_client for node in nodes]) -@pytest.mark.skip("Deadlocks on CI, see #3302") @dfly_args({"proactor_threads": 4, "cluster_mode": "yes"}) async def test_cluster_flushall_during_migration( df_factory: DflyInstanceFactory, df_seeder_factory