aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-12-16 08:17:57 -0800
committerChris Lu <chris.lu@gmail.com>2020-12-16 08:18:00 -0800
commitb789767cd1059eeba393e3bdcf98b136e64db6eb (patch)
tree0144d7edc23db31dd5bc2728bfc9ce06e4040047
parent8cb67952db822ef232dd2701ce78a5486d54b4ea (diff)
downloadseaweedfs-b789767cd1059eeba393e3bdcf98b136e64db6eb.tar.xz
seaweedfs-b789767cd1059eeba393e3bdcf98b136e64db6eb.zip
filer: return http status 499 for client closed connection
fix https://github.com/chrislusf/seaweedfs/issues/1684
-rw-r--r--weed/server/filer_server_handlers_write_autochunk.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_write_autochunk.go b/weed/server/filer_server_handlers_write_autochunk.go
index 0f6d0dc47..82c6c11b4 100644
--- a/weed/server/filer_server_handlers_write_autochunk.go
+++ b/weed/server/filer_server_handlers_write_autochunk.go
@@ -57,7 +57,11 @@ func (fs *FilerServer) autoChunk(ctx context.Context, w http.ResponseWriter, r *
reply, md5bytes, err = fs.doPutAutoChunk(ctx, w, r, chunkSize, so)
}
if err != nil {
- writeJsonError(w, r, http.StatusInternalServerError, err)
+ if strings.HasPrefix(err.Error(), "read input:") {
+ writeJsonError(w, r, 499, err)
+ } else {
+ writeJsonError(w, r, http.StatusInternalServerError, err)
+ }
} else if reply != nil {
if len(md5bytes) > 0 {
w.Header().Set("Content-MD5", util.Base64Encode(md5bytes))