diff options
| author | Chris Lu <chris.lu@gmail.com> | 2018-07-14 13:36:28 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2018-07-14 13:36:28 -0700 |
| commit | 842dab07b4e0cdf31e534b40afce5c64c19d646e (patch) | |
| tree | 0c9e7d7a3df3542bdd636b081f9c5d04257052fb /weed/server/filer_server_handlers_write.go | |
| parent | a51aa4c5868d4c5165b35a3fda05419e1345bf97 (diff) | |
| download | seaweedfs-842dab07b4e0cdf31e534b40afce5c64c19d646e.tar.xz seaweedfs-842dab07b4e0cdf31e534b40afce5c64c19d646e.zip | |
weed mount can request to prioritize to write to a data center
Diffstat (limited to 'weed/server/filer_server_handlers_write.go')
| -rw-r--r-- | weed/server/filer_server_handlers_write.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go index 83e62a8e7..ba7c17b79 100644 --- a/weed/server/filer_server_handlers_write.go +++ b/weed/server/filer_server_handlers_write.go @@ -41,16 +41,16 @@ func (fs *FilerServer) queryFileInfoByPath(w http.ResponseWriter, r *http.Reques return } -func (fs *FilerServer) assignNewFileInfo(w http.ResponseWriter, r *http.Request, replication, collection string) (fileId, urlLocation string, err error) { +func (fs *FilerServer) assignNewFileInfo(w http.ResponseWriter, r *http.Request, replication, collection string, dataCenter string) (fileId, urlLocation string, err error) { ar := &operation.VolumeAssignRequest{ Count: 1, Replication: replication, Collection: collection, Ttl: r.URL.Query().Get("ttl"), - DataCenter: fs.option.DataCenter, + DataCenter: dataCenter, } var altRequest *operation.VolumeAssignRequest - if fs.option.DataCenter != "" { + if dataCenter != "" { altRequest = &operation.VolumeAssignRequest{ Count: 1, Replication: replication, @@ -82,8 +82,12 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) { if collection == "" { collection = fs.option.Collection } + dataCenter := query.Get("dataCenter") + if dataCenter == "" { + dataCenter = fs.option.DataCenter + } - if autoChunked := fs.autoChunk(w, r, replication, collection); autoChunked { + if autoChunked := fs.autoChunk(w, r, replication, collection, dataCenter); autoChunked { return } @@ -91,12 +95,12 @@ func (fs *FilerServer) PostHandler(w http.ResponseWriter, r *http.Request) { var err error if strings.HasPrefix(r.Header.Get("Content-Type"), "multipart/form-data; boundary=") { - fileId, urlLocation, err = fs.multipartUploadAnalyzer(w, r, replication, collection) + fileId, urlLocation, err = fs.multipartUploadAnalyzer(w, r, replication, collection, dataCenter) if err != nil { return } } else { - fileId, urlLocation, err = fs.monolithicUploadAnalyzer(w, r, replication, collection) + fileId, urlLocation, err = fs.monolithicUploadAnalyzer(w, r, replication, collection, dataCenter) if err != nil { return } |
