randomize file locations

This commit is contained in:
Chris Lu 2020-10-07 23:58:32 -07:00
parent ec08a1670b
commit eed492b73b

View file

@ -3,14 +3,14 @@ package filer
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/golang/groupcache/singleflight"
"io"
"sync"
"github.com/chrislusf/seaweedfs/weed/glog" "github.com/chrislusf/seaweedfs/weed/glog"
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb" "github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"github.com/chrislusf/seaweedfs/weed/util/chunk_cache" "github.com/chrislusf/seaweedfs/weed/util/chunk_cache"
"github.com/chrislusf/seaweedfs/weed/wdclient" "github.com/chrislusf/seaweedfs/weed/wdclient"
"github.com/golang/groupcache/singleflight"
"io"
"math/rand"
"sync"
) )
type ChunkReadAt struct { type ChunkReadAt struct {
@ -64,6 +64,11 @@ func LookupFn(filerClient filer_pb.FilerClient) LookupFileIdFunctionType {
targetUrls = append(targetUrls, targetUrl) 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 return
} }
} }