Konstantin Lebedev 1 year ago
committed by Chris Lu
parent
commit
dd78397fea
  1. 53
      weed/server/master_grpc_server_assign.go

53
weed/server/master_grpc_server_assign.go

@ -90,33 +90,34 @@ func (ms *MasterServer) Assign(ctx context.Context, req *master_pb.AssignRequest
for time.Now().Sub(startTime) < maxTimeout { for time.Now().Sub(startTime) < maxTimeout {
fid, count, dnList, err := ms.Topo.PickForWrite(req.Count, option) fid, count, dnList, err := ms.Topo.PickForWrite(req.Count, option)
if err == nil { if err != nil {
dn := dnList.Head() glog.Warningf("PickForWrite error: %+v", err)
var replicas []*master_pb.Location lastErr = err
for _, r := range dnList.Rest() { time.Sleep(200 * time.Millisecond)
replicas = append(replicas, &master_pb.Location{ continue
Url: r.Url(), }
PublicUrl: r.PublicUrl, dn := dnList.Head()
GrpcPort: uint32(r.GrpcPort), var replicas []*master_pb.Location
DataCenter: r.GetDataCenterId(), for _, r := range dnList.Rest() {
}) replicas = append(replicas, &master_pb.Location{
} Url: r.Url(),
return &master_pb.AssignResponse{ PublicUrl: r.PublicUrl,
Fid: fid, GrpcPort: uint32(r.GrpcPort),
Location: &master_pb.Location{ DataCenter: r.GetDataCenterId(),
Url: dn.Url(), })
PublicUrl: dn.PublicUrl,
GrpcPort: uint32(dn.GrpcPort),
DataCenter: dn.GetDataCenterId(),
},
Count: count,
Auth: string(security.GenJwtForVolumeServer(ms.guard.SigningKey, ms.guard.ExpiresAfterSec, fid)),
Replicas: replicas,
}, nil
} }
//glog.V(4).Infoln("waiting for volume growing...") return &master_pb.AssignResponse{
lastErr = err Fid: fid,
time.Sleep(200 * time.Millisecond) Location: &master_pb.Location{
Url: dn.Url(),
PublicUrl: dn.PublicUrl,
GrpcPort: uint32(dn.GrpcPort),
DataCenter: dn.GetDataCenterId(),
},
Count: count,
Auth: string(security.GenJwtForVolumeServer(ms.guard.SigningKey, ms.guard.ExpiresAfterSec, fid)),
Replicas: replicas,
}, nil
} }
return nil, lastErr return nil, lastErr
} }
|||||||
100:0
Loading…
Cancel
Save