aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.co>2023-10-17 11:17:46 +0500
committerChris Lu <chrislusf@users.noreply.github.com>2023-11-27 12:56:15 -0800
commitdd78397feac2f1ac19cda766917a079e7ed66213 (patch)
treeb496acd4ebe8208949fb26144d6454471d74e7c2
parentfe3e7db9d197d31ffc2fce37966b918f547b8f48 (diff)
downloadseaweedfs-dd78397feac2f1ac19cda766917a079e7ed66213.tar.xz
seaweedfs-dd78397feac2f1ac19cda766917a079e7ed66213.zip
logging PickForWrite error
https://github.com/seaweedfs/seaweedfs/issues/3886
-rw-r--r--weed/server/master_grpc_server_assign.go53
1 files changed, 27 insertions, 26 deletions
diff --git a/weed/server/master_grpc_server_assign.go b/weed/server/master_grpc_server_assign.go
index 34e85d752..89aba173e 100644
--- a/weed/server/master_grpc_server_assign.go
+++ b/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 {
fid, count, dnList, err := ms.Topo.PickForWrite(req.Count, option)
- if err == nil {
- dn := dnList.Head()
- var replicas []*master_pb.Location
- for _, r := range dnList.Rest() {
- replicas = append(replicas, &master_pb.Location{
- Url: r.Url(),
- PublicUrl: r.PublicUrl,
- GrpcPort: uint32(r.GrpcPort),
- DataCenter: r.GetDataCenterId(),
- })
- }
- return &master_pb.AssignResponse{
- Fid: fid,
- 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
+ if err != nil {
+ glog.Warningf("PickForWrite error: %+v", err)
+ lastErr = err
+ time.Sleep(200 * time.Millisecond)
+ continue
+ }
+ dn := dnList.Head()
+ var replicas []*master_pb.Location
+ for _, r := range dnList.Rest() {
+ replicas = append(replicas, &master_pb.Location{
+ Url: r.Url(),
+ PublicUrl: r.PublicUrl,
+ GrpcPort: uint32(r.GrpcPort),
+ DataCenter: r.GetDataCenterId(),
+ })
}
- //glog.V(4).Infoln("waiting for volume growing...")
- lastErr = err
- time.Sleep(200 * time.Millisecond)
+ return &master_pb.AssignResponse{
+ Fid: fid,
+ 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
}