-
Notifications
You must be signed in to change notification settings - Fork 59
Open
Description
I have encountered situations where the controller gets into a situation where its stored state about the migration isn't what the shard node reports.
kvrocks-controller/controller/cluster.go
Lines 290 to 296 in f0af65b
if sourceNodeClusterInfo.MigratingSlot != shard.MigratingSlot { | |
log.Error("Mismatch migrating slot", | |
zap.Int("source_migrating_slot", sourceNodeClusterInfo.MigratingSlot), | |
zap.Int("migrating_slot", shard.MigratingSlot), | |
) | |
return | |
} |
In this case, it isn't able to do anything and just keeps printing this message and there doesn't look like there is any API to recover from this in the controller.
Should the controller accept the migration status from the node?
This appears to happen if the node crashes immediately at the start of migration.
Metadata
Metadata
Assignees
Labels
No labels