math/rand => math/rand/v2

This commit is contained in:
chrislu 2024-08-29 09:52:21 -07:00
parent ded5e084ea
commit a4b25a642d
15 changed files with 27 additions and 27 deletions

View File

@ -6,7 +6,7 @@ import (
"fmt"
"github.com/seaweedfs/seaweedfs/weed/pb"
"google.golang.org/grpc"
"math/rand"
"math/rand/v2"
"strings"
"time"
@ -51,7 +51,7 @@ func LookupFileId(masterFn GetMasterFn, grpcDialOption grpc.DialOption, fileId s
if len(lookup.Locations) == 0 {
return "", jwt, errors.New("File Not Found")
}
return "http://" + lookup.Locations[rand.Intn(len(lookup.Locations))].Url + "/" + fileId, lookup.Jwt, nil
return "http://" + lookup.Locations[rand.IntN(len(lookup.Locations))].Url + "/" + fileId, lookup.Jwt, nil
}
func LookupVolumeId(masterFn GetMasterFn, grpcDialOption grpc.DialOption, vid string) (*LookupResult, error) {

View File

@ -4,7 +4,7 @@ import (
"context"
"github.com/seaweedfs/seaweedfs/weed/pb"
"io"
"math/rand"
"math/rand/v2"
"mime"
"net/url"
"os"
@ -236,7 +236,7 @@ func genFileUrl(ret *AssignResult, id string, usePublicUrl bool) string {
fileUrl = "http://" + ret.PublicUrl + "/" + id
}
for _, replica := range ret.Replicas {
if rand.Intn(len(ret.Replicas)+1) == 0 {
if rand.IntN(len(ret.Replicas)+1) == 0 {
fileUrl = "http://" + replica.Url + "/" + id
if usePublicUrl {
fileUrl = "http://" + replica.PublicUrl + "/" + id

View File

@ -4,7 +4,7 @@ import (
"context"
"fmt"
"google.golang.org/grpc/metadata"
"math/rand"
"math/rand/v2"
"net/http"
"strconv"
"strings"

View File

@ -3,11 +3,11 @@ package weed_server
import (
"github.com/seaweedfs/seaweedfs/weed/glog"
"github.com/seaweedfs/seaweedfs/weed/security"
util_http "github.com/seaweedfs/seaweedfs/weed/util/http"
"github.com/seaweedfs/seaweedfs/weed/util/mem"
"io"
"math/rand"
"math/rand/v2"
"net/http"
util_http "github.com/seaweedfs/seaweedfs/weed/util/http"
)
func (fs *FilerServer) maybeAddVolumeJwtAuthorization(r *http.Request, fileId string, isWrite bool) {
@ -44,7 +44,7 @@ func (fs *FilerServer) proxyToVolumeServer(w http.ResponseWriter, r *http.Reques
return
}
proxyReq, err := http.NewRequest(r.Method, urlStrings[rand.Intn(len(urlStrings))], r.Body)
proxyReq, err := http.NewRequest(r.Method, urlStrings[rand.IntN(len(urlStrings))], r.Body)
if err != nil {
glog.Errorf("NewRequest %s: %v", urlStrings[0], err)
w.WriteHeader(http.StatusInternalServerError)

View File

@ -4,7 +4,7 @@ import (
"context"
"fmt"
"github.com/seaweedfs/seaweedfs/weed/stats"
"math/rand"
"math/rand/v2"
"sync"
"time"
@ -108,7 +108,7 @@ func (locks *AdminLocks) generateToken(lockName string, clientName string) (ts t
locks.Lock()
defer locks.Unlock()
lock := &AdminLock{
accessSecret: rand.Int63(),
accessSecret: rand.Int64(),
accessLockTime: time.Now(),
lastClient: clientName,
}

View File

@ -5,7 +5,7 @@ import (
"github.com/seaweedfs/seaweedfs/weed/cluster"
"github.com/seaweedfs/seaweedfs/weed/pb"
"github.com/seaweedfs/seaweedfs/weed/pb/master_pb"
"math/rand"
"math/rand/v2"
)
func (ms *MasterServer) ListClusterNodes(ctx context.Context, req *master_pb.ListClusterNodesRequest) (*master_pb.ListClusterNodesResponse, error) {
@ -31,7 +31,7 @@ func (ms *MasterServer) GetOneFiler(filerGroup cluster.FilerGroupName) pb.Server
filers := ms.Cluster.ListClusterNode(filerGroup, cluster.FilerType)
if len(filers) > 0 {
return filers[rand.Intn(len(filers))].Address
return filers[rand.IntN(len(filers))].Address
}
return "localhost:8888"
}
@ -42,7 +42,7 @@ func limitTo(nodes []*cluster.ClusterNode, limit int32) (selected []*cluster.Clu
}
selectedSet := make(map[pb.ServerAddress]*cluster.ClusterNode)
for i := 0; i < int(limit)*3; i++ {
x := rand.Intn(len(nodes))
x := rand.IntN(len(nodes))
if _, found := selectedSet[nodes[x].Address]; found {
continue
}

View File

@ -3,7 +3,7 @@ package weed_server
import (
"context"
"fmt"
"math/rand"
"math/rand/v2"
"reflect"
"strings"
"sync"

View File

@ -5,7 +5,7 @@ import (
"fmt"
"github.com/seaweedfs/seaweedfs/weed/pb"
"github.com/seaweedfs/seaweedfs/weed/pb/master_pb"
"math/rand"
"math/rand/v2"
"net/http"
"strconv"
@ -113,7 +113,7 @@ func (ms *MasterServer) redirectHandler(w http.ResponseWriter, r *http.Request)
collection := r.FormValue("collection")
location := ms.findVolumeLocation(collection, vid)
if location.Error == "" {
loc := location.Locations[rand.Intn(len(location.Locations))]
loc := location.Locations[rand.IntN(len(location.Locations))]
url, _ := util_http.NormalizeUrl(loc.PublicUrl)
if r.URL.RawQuery != "" {
url = url + r.URL.Path + "?" + r.URL.RawQuery

View File

@ -5,7 +5,7 @@ package weed_server
import (
"fmt"
"math/rand"
"math/rand/v2"
"os"
"path"
"path/filepath"

View File

@ -3,7 +3,7 @@ package weed_server
import (
"encoding/json"
"io"
"math/rand"
"math/rand/v2"
"os"
"path"
"time"

View File

@ -2,7 +2,7 @@ package topology
import (
"errors"
"math/rand"
"math/rand/v2"
"strings"
"sync"
"sync/atomic"
@ -83,7 +83,7 @@ func (n *NodeImpl) PickNodesByWeight(numberOfNodes int, option *VolumeGrowOption
//pick nodes randomly by weights, the node picked earlier has higher final weights
sortedCandidates := make([]Node, 0, len(candidates))
for i := 0; i < len(candidates); i++ {
weightsInterval := rand.Int63n(totalWeights)
weightsInterval := rand.Int64N(totalWeights)
lastWeights := int64(0)
for k, weights := range candidatesWeights {
if (weightsInterval >= lastWeights) && (weightsInterval < lastWeights+weights) {

View File

@ -4,7 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"math/rand"
"math/rand/v2"
"sync"
"time"

View File

@ -1,7 +1,7 @@
package topology
import (
"math/rand"
"math/rand/v2"
"time"
"github.com/seaweedfs/seaweedfs/weed/stats"

View File

@ -4,7 +4,7 @@ import (
"encoding/json"
"fmt"
"github.com/seaweedfs/seaweedfs/weed/pb/master_pb"
"math/rand"
"math/rand/v2"
"sync"
"time"
@ -222,7 +222,7 @@ func (vg *VolumeGrowth) findEmptySlotsForOneVolume(topo *Topology, option *Volum
servers = append(servers, server.(*DataNode))
}
for _, rack := range otherRacks {
r := rand.Int63n(rack.AvailableSpaceFor(option))
r := rand.Int64N(rack.AvailableSpaceFor(option))
if server, e := rack.ReserveOneVolume(r, option); e == nil {
servers = append(servers, server)
} else {
@ -230,7 +230,7 @@ func (vg *VolumeGrowth) findEmptySlotsForOneVolume(topo *Topology, option *Volum
}
}
for _, datacenter := range otherDataCenters {
r := rand.Int63n(datacenter.AvailableSpaceFor(option))
r := rand.Int64N(datacenter.AvailableSpaceFor(option))
if server, e := datacenter.ReserveOneVolume(r, option); e == nil {
servers = append(servers, server)
} else {

View File

@ -3,7 +3,7 @@ package topology
import (
"fmt"
"github.com/seaweedfs/seaweedfs/weed/stats"
"math/rand"
"math/rand/v2"
"sync"
"sync/atomic"
"time"
@ -296,7 +296,7 @@ func (vl *VolumeLayout) PickForWrite(count uint64, option *VolumeGrowOption) (vi
return 0, 0, nil, true, fmt.Errorf("%s in volume layout", noWritableVolumes)
}
if option.DataCenter == "" && option.Rack == "" && option.DataNode == "" {
vid := vl.writables[rand.Intn(lenWriters)]
vid := vl.writables[rand.IntN(lenWriters)]
locationList = vl.vid2location[vid]
if locationList == nil || len(locationList.list) == 0 {
return 0, 0, nil, false, fmt.Errorf("Strangely vid %s is on no machine!", vid.String())