Bug report:
When the client is configured with both
client.config.scheduler.enableBackToSource: false
client.config.proxy.disableBackToSource: true
the client still falls back to the source server if the source server is overloaded or unavailable. This results in unwanted extra load on the origin, effectively bypassing the intended back‑to‑source protection.
Expected behavior:
The client should not attempt to fetch directly from the source at any time when both flags are set. Instead:
It should either fail the download gracefully,
Or enter a controlled retry/back‑off loop.
This would protect the origin system from overload.
How to reproduce it:
Deploy Dragonfly with the following relevant settings:
client:
config:
scheduler:
enableBackToSource: false
proxy:
server:
disableBackToSource: true
Overload or stop the source server service (simulate high load/failure).
Trigger a client download task (e.g., large artifact via proxy).
Please make sure that the client attempts direct download from the origin even though enableBackToSource=false and disableBackToSource=true.
Environment:
- Dragonfly version: scheduler & manager 2.3.2 client & seed v1.0.3
- OS: Ubuntu 22.04
- Kernel (e.g.
uname -a
): 5.15.0-124-generic
- Others: