Large uploads fail with ECONNRESET / Job Cancelled on direct connection
Environment:
Large uploads consistently fail partway through. Issues persists even when bypassing all network infrastructure.
Troubleshooting Performed:
- Immich Server (Docker Compose setup)
- Immich Android App
- Large file uploads (e.g., MP4 videos)
Large uploads consistently fail partway through. Issues persists even when bypassing all network infrastructure.
Troubleshooting Performed:
- Network Ruled Out: I tested my network stack. While the Tailscale connection is slow (~100 Mbits/sec potentially due to DERP relay), I also tested the local network directly, which is faster.
- Proxy & VPN Bypassed: I exposed the Immich container directly to the host network. Connected from my Android phone on the same local WiFi, completely bypassing Caddy and Tailscale. Uploads still fail in those condition.
- Disk I/O Tested: Server disk write performance was tested with fio and is not a limiting factor.
- Via Tailscale: Uploads appear to be capped at ~1 MB/s per concurrent upload (3 items).
- Via Direct Connection: Uploads achieve speeds closer to 10 MB/s (3 items).
- Server Log (immich-server):
Android App Error:
- Based on the ECONNRESET and "Job was cancelled" errors, what is causing the upload connection to be aborted? Is it a server-side timeout, or is the client app cancelling the job due to a perceived stall?
- Are large file uploads chunked? If so, should they be resumable? The current behavior is a complete failure, requiring a manual restart. If uploads are chunked, the client should be able to resume from the last successful chunk after a connection reset.
- Are there any server-side configurations (e.g., request timeouts, upload size limits) that could be causing this and can be adjusted?

