diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-08-14 02:54:13 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-08-14 02:54:13 -0700 |
| commit | 7937db52e1a6b8be0e04da0b2ed9d62284fa2698 (patch) | |
| tree | 36d64b2d8ae05bb9955ae0570fdcb7af3eca8b44 /weed/server | |
| parent | 0c66b173a4b50dd4589fa16a521d52060cbe5c16 (diff) | |
| download | seaweedfs-7937db52e1a6b8be0e04da0b2ed9d62284fa2698.tar.xz seaweedfs-7937db52e1a6b8be0e04da0b2ed9d62284fa2698.zip | |
Filer locationPrefix configure does not exec replication #2257
fix https://github.com/chrislusf/seaweedfs/issues/2257
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/filer_server_handlers_write.go | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go index 8d11e664a..39d983ab7 100644 --- a/weed/server/filer_server_handlers_write.go +++ b/weed/server/filer_server_handlers_write.go @@ -116,18 +116,6 @@ func (fs *FilerServer) DeleteHandler(w http.ResponseWriter, r *http.Request) { } func (fs *FilerServer) detectStorageOption(requestURI, qCollection, qReplication string, ttlSeconds int32, diskType, dataCenter, rack string) (*operation.StorageOption, error) { - collection := util.Nvl(qCollection, fs.option.Collection) - replication := util.Nvl(qReplication, fs.option.DefaultReplication) - - // required by buckets folder - bucketDefaultReplication, fsync := "", false - if strings.HasPrefix(requestURI, fs.filer.DirBucketsPath+"/") { - collection = fs.filer.DetectBucket(util.FullPath(requestURI)) - bucketDefaultReplication, fsync = fs.filer.ReadBucketOption(collection) - } - if replication == "" { - replication = bucketDefaultReplication - } rule := fs.filer.FilerConf.MatchStorageRule(requestURI) @@ -135,6 +123,13 @@ func (fs *FilerServer) detectStorageOption(requestURI, qCollection, qReplication return nil, ErrReadOnly } + // required by buckets folder + bucketDefaultCollection, bucketDefaultReplication, fsync := "", "", false + if strings.HasPrefix(requestURI, fs.filer.DirBucketsPath+"/") { + bucketDefaultCollection = fs.filer.DetectBucket(util.FullPath(requestURI)) + bucketDefaultReplication, fsync = fs.filer.ReadBucketOption(bucketDefaultCollection) + } + if ttlSeconds == 0 { ttl, err := needle.ReadTTL(rule.GetTtl()) if err != nil { @@ -144,8 +139,8 @@ func (fs *FilerServer) detectStorageOption(requestURI, qCollection, qReplication } return &operation.StorageOption{ - Replication: util.Nvl(replication, rule.Replication), - Collection: util.Nvl(collection, rule.Collection), + Replication: util.Nvl(qReplication, rule.Replication, bucketDefaultReplication, fs.option.DefaultReplication), + Collection: util.Nvl(qCollection, rule.Collection, bucketDefaultCollection, fs.option.Collection), DataCenter: util.Nvl(dataCenter, fs.option.DataCenter), Rack: util.Nvl(rack, fs.option.Rack), TtlSeconds: ttlSeconds, |
