From 75ea1ff4bf7ab43d21789b2aedf15a644e84d001 Mon Sep 17 00:00:00 2001 From: Gaius Date: Tue, 26 Dec 2023 18:31:51 +0800 Subject: [PATCH] feat: if seed peer download task, return NeedBackToSource directly Signed-off-by: Gaius --- scheduler/config/constants.go | 2 +- scheduler/service/service_v2.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/scheduler/config/constants.go b/scheduler/config/constants.go index 5beb3c9bd5f..653c0e11bf7 100644 --- a/scheduler/config/constants.go +++ b/scheduler/config/constants.go @@ -73,7 +73,7 @@ const ( DefaultSchedulerRetryLimit = 10 // DefaultSchedulerRetryInterval is default retry interval for scheduler. - DefaultSchedulerRetryInterval = 50 * time.Millisecond + DefaultSchedulerRetryInterval = 200 * time.Millisecond // DefaultSchedulerPieceDownloadTimeout is default timeout of downloading piece. DefaultSchedulerPieceDownloadTimeout = 30 * time.Minute diff --git a/scheduler/service/service_v2.go b/scheduler/service/service_v2.go index af1ffd81b4a..d1fe0d344ae 100644 --- a/scheduler/service/service_v2.go +++ b/scheduler/service/service_v2.go @@ -821,7 +821,7 @@ func (v *V2) SyncProbes(stream schedulerv2.Scheduler_SyncProbesServer) error { // handleRegisterPeerRequest handles RegisterPeerRequest of AnnouncePeerRequest. func (v *V2) handleRegisterPeerRequest(ctx context.Context, stream schedulerv2.Scheduler_AnnouncePeerServer, hostID, taskID, peerID string, req *schedulerv2.RegisterPeerRequest) error { // Handle resource included host, task, and peer. - _, task, peer, err := v.handleResource(ctx, stream, hostID, taskID, peerID, req.GetDownload()) + host, task, peer, err := v.handleResource(ctx, stream, hostID, taskID, peerID, req.GetDownload()) if err != nil { return err } @@ -837,7 +837,7 @@ func (v *V2) handleRegisterPeerRequest(ctx context.Context, stream schedulerv2.S blocklist.Add(peer.ID) if !((task.FSM.Is(resource.TaskStateRunning) || task.FSM.Is(resource.TaskStateSucceeded)) && task.HasAvailablePeer(blocklist)) { download := proto.Clone(req.Download).(*commonv2.Download) - if download.GetNeedBackToSource() { + if download.GetNeedBackToSource() || host.Type != types.HostTypeNormal { peer.Log.Infof("peer need back to source") peer.NeedBackToSource.Store(true) } else {