Skip to content

Commit 55bc981

Browse files
authored
feat: add migration_finalization_timeout_ms flag (#4301)
1 parent 5363779 commit 55bc981

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/server/cluster/incoming_slot_migration.cc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
#include "server/main_service.h"
1717
#include "util/fibers/synchronization.h"
1818

19-
ABSL_DECLARE_FLAG(int, slot_migration_connection_timeout_ms);
19+
ABSL_DECLARE_FLAG(int, migration_finalization_timeout_ms);
2020

2121
namespace dfly::cluster {
2222

@@ -173,7 +173,7 @@ void IncomingSlotMigration::Pause(bool pause) {
173173
bool IncomingSlotMigration::Join(long attempt) {
174174
const absl::Time start = absl::Now();
175175
const absl::Duration timeout =
176-
absl::Milliseconds(absl::GetFlag(FLAGS_slot_migration_connection_timeout_ms));
176+
absl::Milliseconds(absl::GetFlag(FLAGS_migration_finalization_timeout_ms));
177177

178178
while (true) {
179179
const absl::Time now = absl::Now();
@@ -209,7 +209,7 @@ void IncomingSlotMigration::Stop() {
209209
// we need to Join the migration process to prevent data corruption
210210
const absl::Time start = absl::Now();
211211
const absl::Duration timeout =
212-
absl::Milliseconds(absl::GetFlag(FLAGS_slot_migration_connection_timeout_ms));
212+
absl::Milliseconds(absl::GetFlag(FLAGS_migration_finalization_timeout_ms));
213213

214214
while (true) {
215215
const absl::Time now = absl::Now();

src/server/cluster/outgoing_slot_migration.cc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,10 @@
2020
#include "server/server_family.h"
2121
#include "util/fibers/synchronization.h"
2222

23-
ABSL_FLAG(int, slot_migration_connection_timeout_ms, 5000, "Timeout for network operations");
23+
ABSL_FLAG(int, slot_migration_connection_timeout_ms, 2000,
24+
"Connection creating timeout for migration operations");
25+
ABSL_FLAG(int, migration_finalization_timeout_ms, 30000,
26+
"Timeout for migration finalization operation");
2427

2528
using namespace std;
2629
using namespace facade;
@@ -333,7 +336,7 @@ bool OutgoingMigration::FinalizeMigration(long attempt) {
333336

334337
const absl::Time start = absl::Now();
335338
const absl::Duration timeout =
336-
absl::Milliseconds(absl::GetFlag(FLAGS_slot_migration_connection_timeout_ms));
339+
absl::Milliseconds(absl::GetFlag(FLAGS_migration_finalization_timeout_ms));
337340
while (true) {
338341
const absl::Time now = absl::Now();
339342
const absl::Duration passed = now - start;

src/server/main_service.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,7 @@ void Service::Init(util::AcceptServer* acceptor, std::vector<facade::Listener*>
813813

814814
config_registry.RegisterMutable("replica_partial_sync");
815815
config_registry.RegisterMutable("replication_timeout");
816+
config_registry.RegisterMutable("migration_finalization_timeout_ms");
816817
config_registry.RegisterMutable("table_growth_margin");
817818
config_registry.RegisterMutable("tcp_keepalive");
818819
config_registry.RegisterMutable("managed_service_info");

0 commit comments

Comments
 (0)