mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
report errors when upload timeouts
This commit is contained in:
parent
e94d52c1af
commit
54906c48f3
|
@ -60,7 +60,12 @@ func NewNeedle(r *http.Request) (n *Needle, e error) {
|
||||||
e = errors.New("No file found!")
|
e = errors.New("No file found!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
data, _ := ioutil.ReadAll(part)
|
data, ioe := ioutil.ReadAll(part)
|
||||||
|
if ioe != nil {
|
||||||
|
e = ioe
|
||||||
|
log.Println("Reading Content [ERROR]", ioe)
|
||||||
|
return
|
||||||
|
}
|
||||||
dotIndex := strings.LastIndex(fname, ".")
|
dotIndex := strings.LastIndex(fname, ".")
|
||||||
ext, mtype := "", ""
|
ext, mtype := "", ""
|
||||||
if dotIndex > 0 {
|
if dotIndex > 0 {
|
||||||
|
|
|
@ -37,7 +37,7 @@ var (
|
||||||
publicUrl = cmdVolume.Flag.String("publicUrl", "", "Publicly accessible <ip|server_name>:<port>")
|
publicUrl = cmdVolume.Flag.String("publicUrl", "", "Publicly accessible <ip|server_name>:<port>")
|
||||||
masterNode = cmdVolume.Flag.String("mserver", "localhost:9333", "master server location")
|
masterNode = cmdVolume.Flag.String("mserver", "localhost:9333", "master server location")
|
||||||
vpulse = cmdVolume.Flag.Int("pulseSeconds", 5, "number of seconds between heartbeats, must be smaller than the master's setting")
|
vpulse = cmdVolume.Flag.Int("pulseSeconds", 5, "number of seconds between heartbeats, must be smaller than the master's setting")
|
||||||
vReadTimeout = cmdVolume.Flag.Int("readTimeout", 3, "connection read timeout in seconds")
|
vReadTimeout = cmdVolume.Flag.Int("readTimeout", 3, "connection read timeout in seconds. Increase this if uploading large files.")
|
||||||
vMaxCpu = cmdVolume.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs")
|
vMaxCpu = cmdVolume.Flag.Int("maxCpu", 0, "maximum number of CPUs. 0 means all available CPUs")
|
||||||
dataCenter = cmdVolume.Flag.String("dataCenter", "", "current volume server's data center name")
|
dataCenter = cmdVolume.Flag.String("dataCenter", "", "current volume server's data center name")
|
||||||
rack = cmdVolume.Flag.String("rack", "", "current volume server's rack name")
|
rack = cmdVolume.Flag.String("rack", "", "current volume server's rack name")
|
||||||
|
@ -196,37 +196,36 @@ func GetOrHeadHandler(w http.ResponseWriter, r *http.Request, isGetMethod bool)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
func PostHandler(w http.ResponseWriter, r *http.Request) {
|
func PostHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
m := make(map[string]interface{})
|
||||||
if e := r.ParseForm(); e != nil {
|
if e := r.ParseForm(); e != nil {
|
||||||
debug("form parse error:", e)
|
debug("form parse error:", e)
|
||||||
writeJsonQuiet(w, r, e)
|
m["error"] = e.Error()
|
||||||
|
writeJsonQuiet(w, r, m)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
vid, _, _, _ := parseURLPath(r.URL.Path)
|
vid, _, _, _ := parseURLPath(r.URL.Path)
|
||||||
volumeId, e := storage.NewVolumeId(vid)
|
volumeId, ve := storage.NewVolumeId(vid)
|
||||||
if e != nil {
|
if ve != nil {
|
||||||
debug("NewVolumeId error:", e)
|
debug("NewVolumeId error:", ve)
|
||||||
writeJsonQuiet(w, r, e)
|
m["error"] = ve.Error()
|
||||||
|
writeJsonQuiet(w, r, m)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if e != nil {
|
needle, ne := storage.NewNeedle(r)
|
||||||
writeJsonQuiet(w, r, e)
|
if ne != nil {
|
||||||
} else {
|
m["error"] = ne.Error()
|
||||||
needle, ne := storage.NewNeedle(r)
|
writeJsonQuiet(w, r, m)
|
||||||
if ne != nil {
|
return
|
||||||
writeJsonQuiet(w, r, ne)
|
|
||||||
} else {
|
|
||||||
ret, errorStatus := replication.ReplicatedWrite(*masterNode, store, volumeId, needle, r)
|
|
||||||
m := make(map[string]interface{})
|
|
||||||
if errorStatus == "" {
|
|
||||||
w.WriteHeader(http.StatusCreated)
|
|
||||||
} else {
|
|
||||||
w.WriteHeader(http.StatusInternalServerError)
|
|
||||||
m["error"] = errorStatus
|
|
||||||
}
|
|
||||||
m["size"] = ret
|
|
||||||
writeJsonQuiet(w, r, m)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
ret, errorStatus := replication.ReplicatedWrite(*masterNode, store, volumeId, needle, r)
|
||||||
|
if errorStatus == "" {
|
||||||
|
w.WriteHeader(http.StatusCreated)
|
||||||
|
} else {
|
||||||
|
w.WriteHeader(http.StatusInternalServerError)
|
||||||
|
m["error"] = errorStatus
|
||||||
|
}
|
||||||
|
m["size"] = ret
|
||||||
|
writeJsonQuiet(w, r, m)
|
||||||
}
|
}
|
||||||
func DeleteHandler(w http.ResponseWriter, r *http.Request) {
|
func DeleteHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
n := new(storage.Needle)
|
n := new(storage.Needle)
|
||||||
|
|
Loading…
Reference in a new issue