Browse Source

use context.WithoutCancel to avoid context cancellation when the client connection is closed

pull/8002/head
Chris Lu 2 weeks ago
parent
commit
2b5e951390
  1. 4
      weed/server/volume_server_handlers_write.go

4
weed/server/volume_server_handlers_write.go

@ -1,6 +1,7 @@
package weed_server
import (
"context"
"errors"
"fmt"
"net/http"
@ -46,7 +47,8 @@ func (vs *VolumeServer) PostHandler(w http.ResponseWriter, r *http.Request) {
}
ret := operation.UploadResult{}
isUnchanged, writeError := topology.ReplicatedWrite(ctx, vs.GetMaster, vs.grpcDialOption, vs.store, volumeId, reqNeedle, r, contentMd5)
// use context.WithoutCancel to avoid context cancellation when the client connection is closed
isUnchanged, writeError := topology.ReplicatedWrite(context.WithoutCancel(ctx), vs.GetMaster, vs.grpcDialOption, vs.store, volumeId, reqNeedle, r, contentMd5)
if writeError != nil {
writeJsonError(w, r, http.StatusInternalServerError, writeError)
return

Loading…
Cancel
Save