xl: CreateFile shouldn't prematurely timeout (#11854)

For large objects taking more than '3 minutes' response
times in a single PUT operation can timeout prematurely
as 'ResponseHeader' timeout hits for 3 minutes. Avoid
this by keeping the connection active during CreateFile
phase.
This commit is contained in:
Harshavardhana
2021-03-22 18:25:05 -07:00
committed by GitHub
parent 726d80dbb7
commit 922c7b57f5
3 changed files with 9 additions and 7 deletions

View File

@@ -287,10 +287,10 @@ func (s *storageRESTServer) CreateFileHandler(w http.ResponseWriter, r *http.Req
s.writeErrorResponse(w, err)
return
}
err = s.storage.CreateFile(r.Context(), volume, filePath, int64(fileSize), r.Body)
if err != nil {
s.writeErrorResponse(w, err)
}
done := keepHTTPResponseAlive(w)
done(s.storage.CreateFile(r.Context(), volume, filePath, int64(fileSize), r.Body))
w.(http.Flusher).Flush()
}
// DeleteVersion delete updated metadata.