When client has run with --watch and minio servers are down (or encounter a network error), watch request and mirroring progress will not recover forever after serveral retries.
In version 2022-04-01, mirroring progress will be cancelled and restarted when statusCh returns a no-ignored error.
After PR 4032, mirroring progress will not be restarted forever when client runs with --watch and/or --active-active.
This patch restores the "restart" policy in version 2022-04-01 and users can also pass --skip-errors to keep same behavior of current implementation.
How to test this PR?
mc mirror --watch --remove --overwrite --debug --summary [alias]/[bucket]/path/ ./
use iptables to drop packages from minio servers
restore iptables after some minutes
client resumes to work
Types of changes
[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Optimization (provides speedup with no functional changes)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
Checklist:
[ ] Fixes a regression (If yes, please add commit-id or PR # here)
Description
Fix #4883
Motivation and Context
When client has run with
--watch
and minio servers are down (or encounter a network error),watch
request and mirroring progress will not recover forever after serveral retries.In version 2022-04-01, mirroring progress will be cancelled and restarted when
statusCh
returns ano-ignored
error.After PR 4032, mirroring progress will not be restarted forever when client runs with
--watch
and/or--active-active
.This patch restores the "restart" policy in version
2022-04-01
and users can also pass--skip-errors
to keep same behavior of current implementation.How to test this PR?
mc mirror --watch --remove --overwrite --debug --summary [alias]/[bucket]/path/ ./
Types of changes
Checklist:
commit-id
orPR #
here)