Browse Source

random pick node in growth volume

return random host in redirect
change verison to 0.73 beta
pull/279/head
tnextday 10 years ago
parent
commit
98a97d610d
  1. 2
      go/topology/volume_growth.go
  2. 2
      go/util/constants.go
  3. 2
      go/weed/weed_server/volume_server_handlers_read.go

2
go/topology/volume_growth.go

@ -182,7 +182,7 @@ func makeExceptNodeFilter(nodes []Node) FilterNodeFn {
// 2. find rest data nodes // 2. find rest data nodes
func FindEmptySlotsForOneVolume(topo *Topology, option *VolumeGrowOption, existsServers *VolumeLocationList) (additionServers []*DataNode, err error) { func FindEmptySlotsForOneVolume(topo *Topology, option *VolumeGrowOption, existsServers *VolumeLocationList) (additionServers []*DataNode, err error) {
//find main datacenter and other data centers //find main datacenter and other data centers
pickNodesFn := PickLowUsageNodeFn
pickNodesFn := RandomlyPickNodeFn
rp := option.ReplicaPlacement rp := option.ReplicaPlacement
pickMainAndRestNodes := func(np NodePicker, totalNodeCount int, filterFirstNodeFn FilterNodeFn, existsNodes []Node) (mainNode Node, restNodes []Node, e error) { pickMainAndRestNodes := func(np NodePicker, totalNodeCount int, filterFirstNodeFn FilterNodeFn, existsNodes []Node) (mainNode Node, restNodes []Node, e error) {

2
go/util/constants.go

@ -1,5 +1,5 @@
package util package util
const ( const (
VERSION = "0.72 beta"
VERSION = "0.73 beta"
) )

2
go/weed/weed_server/volume_server_handlers_read.go

@ -48,7 +48,7 @@ func (vs *VolumeServer) GetOrHeadHandler(w http.ResponseWriter, r *http.Request)
lookupResult, err := operation.Lookup(vs.GetMasterNode(), volumeId.String(), r.FormValue("collection")) lookupResult, err := operation.Lookup(vs.GetMasterNode(), volumeId.String(), r.FormValue("collection"))
glog.V(2).Infoln("volume", volumeId, "found on", lookupResult, "error", err) glog.V(2).Infoln("volume", volumeId, "found on", lookupResult, "error", err)
if err == nil && len(lookupResult.Locations) > 0 { if err == nil && len(lookupResult.Locations) > 0 {
u, _ := url.Parse(util.NormalizeUrl(lookupResult.Locations.Head().PublicUrl))
u, _ := url.Parse(util.NormalizeUrl(lookupResult.Locations.PickForRead().PublicUrl))
u.Path = r.URL.Path u.Path = r.URL.Path
http.Redirect(w, r, u.String(), http.StatusMovedPermanently) http.Redirect(w, r, u.String(), http.StatusMovedPermanently)
} else { } else {

Loading…
Cancel
Save