diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2022-08-05 05:35:00 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-08-04 17:35:00 -0700 |
| commit | 4d08393b7ca8b1a34ed65532955de76cf8843ec2 (patch) | |
| tree | b764fe5f4b927d9b9cf1b83a2f19c87a91d81c8e /weed/server/filer_server_handlers_write.go | |
| parent | 28a1f42962a3c22fa341d62e52ed014ae17c508f (diff) | |
| download | seaweedfs-4d08393b7ca8b1a34ed65532955de76cf8843ec2.tar.xz seaweedfs-4d08393b7ca8b1a34ed65532955de76cf8843ec2.zip | |
filer prefer volume server in same data center (#3405)
* initial prefer same data center
https://github.com/seaweedfs/seaweedfs/issues/3404
* GetDataCenter
* prefer same data center for ReplicationSource
* GetDataCenterId
* remove glog
Diffstat (limited to 'weed/server/filer_server_handlers_write.go')
| -rw-r--r-- | weed/server/filer_server_handlers_write.go | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go index 96f0eb81c..fc767dd9e 100644 --- a/weed/server/filer_server_handlers_write.go +++ b/weed/server/filer_server_handlers_write.go @@ -49,7 +49,17 @@ func (fs *FilerServer) assignNewFileInfo(so *operation.StorageOption) (fileId, u return } fileId = assignResult.Fid - urlLocation = "http://" + assignResult.Url + "/" + assignResult.Fid + assignUrl := assignResult.Url + // Prefer same data center + if fs.option.DataCenter != "" { + for _, repl := range assignResult.Replicas { + if repl.DataCenter == fs.option.DataCenter { + assignUrl = repl.Url + break + } + } + } + urlLocation = "http://" + assignUrl + "/" + assignResult.Fid if so.Fsync { urlLocation += "?fsync=true" } |
