Browse Source

randomize file locations

pull/1513/head
Chris Lu 4 years ago
parent
commit
eed492b73b
  1. 13
      weed/filer/reader_at.go

13
weed/filer/reader_at.go

@ -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
} }
} }

Loading…
Cancel
Save