diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-10-07 23:58:32 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-10-07 23:58:32 -0700 |
| commit | eed492b73b67fe761a95b8752ba369fbc44587b9 (patch) | |
| tree | dd447725cb131bf85a144e270570f3b046b1bc23 | |
| parent | ec08a1670b6db6a1ad1300728f06493d8066da9b (diff) | |
| download | seaweedfs-eed492b73b67fe761a95b8752ba369fbc44587b9.tar.xz seaweedfs-eed492b73b67fe761a95b8752ba369fbc44587b9.zip | |
randomize file locations
| -rw-r--r-- | weed/filer/reader_at.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/weed/filer/reader_at.go b/weed/filer/reader_at.go index 74f037557..2a46c1ca6 100644 --- a/weed/filer/reader_at.go +++ b/weed/filer/reader_at.go @@ -3,14 +3,14 @@ package filer import ( "context" "fmt" - "github.com/golang/groupcache/singleflight" - "io" - "sync" - "github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/pb/filer_pb" "github.com/chrislusf/seaweedfs/weed/util/chunk_cache" "github.com/chrislusf/seaweedfs/weed/wdclient" + "github.com/golang/groupcache/singleflight" + "io" + "math/rand" + "sync" ) type ChunkReadAt struct { @@ -64,6 +64,11 @@ func LookupFn(filerClient filer_pb.FilerClient) LookupFileIdFunctionType { targetUrls = append(targetUrls, targetUrl) } + for i := len(targetUrls) - 1; i > 0; i-- { + j := rand.Intn(i + 1) + targetUrls[i], targetUrls[j] = targetUrls[j], targetUrls[i] + } + return } } |
