When a client disconnects mid-download from the CAS HTTP download service, the server encounters a connection reset by peer or broken pipe error during io.Copy to the response writer. This error flows through LogAndMaskErr which logs it as an ERROR and sends it to Sentry.
Client disconnections are normal and expected — they should not be treated as server errors or generate Sentry noise.
Stack trace:
app/artifact-cas/internal/service/download.go — io.Copy(w, buf) fails
pkg/servicelogger/logger.go:60 — LogAndMaskErr captures to Sentry
Fix: PR #2882
When a client disconnects mid-download from the CAS HTTP download service, the server encounters a
connection reset by peerorbroken pipeerror duringio.Copyto the response writer. This error flows throughLogAndMaskErrwhich logs it as an ERROR and sends it to Sentry.Client disconnections are normal and expected — they should not be treated as server errors or generate Sentry noise.
Stack trace:
app/artifact-cas/internal/service/download.go—io.Copy(w, buf)failspkg/servicelogger/logger.go:60—LogAndMaskErrcaptures to SentryFix: PR #2882