Browse Source

fix: add IdxFileSize check to pre-delete volume verification

The verification step checked DatFileSize and FileCount but not
IdxFileSize, leaving a gap in the copy validation before source
deletion.
pull/8594/head
Chris Lu 3 days ago
parent
commit
cf3693651c
  1. 4
      weed/worker/tasks/balance/balance_task.go

4
weed/worker/tasks/balance/balance_task.go

@ -137,6 +137,10 @@ func (t *BalanceTask) Execute(ctx context.Context, params *worker_pb.TaskParams)
return fmt.Errorf("aborting: volume %d file count mismatch — source %d, target %d",
volumeId, sourceStatus.FileCount, targetStatus.FileCount)
}
if targetStatus.IdxFileSize != sourceStatus.IdxFileSize {
return fmt.Errorf("aborting: volume %d .idx size mismatch — source %d bytes, target %d bytes",
volumeId, sourceStatus.IdxFileSize, targetStatus.IdxFileSize)
}
// Step 6: Delete from source — after this, the move is committed.
// Clear the readonly flag so the defer doesn't try to restore writability.

Loading…
Cancel
Save