Skip to content

Commit

Permalink
fix: register fail panic (dragonflyoss#1351)
Browse files Browse the repository at this point in the history
Signed-off-by: Jim Ma <[email protected]>
  • Loading branch information
jim3ma authored May 31, 2022
1 parent 91a54ba commit a12ef5f
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions client/daemon/peer/peertask_conductor.go
Original file line number Diff line number Diff line change
Expand Up @@ -278,6 +278,8 @@ func (pt *peerTaskConductor) register() error {
}
pt.Errorf("step 1: peer %s register failed: %s", pt.request.PeerId, err)
if pt.peerTaskManager.schedulerOption.DisableAutoBackSource {
// when peer register failed, some actions need to do with peerPacketStream
pt.peerPacketStream = &dummyPeerPacketStream{}
pt.Errorf("register peer task failed: %s, peer id: %s, auto back source disabled", err, pt.request.PeerId)
pt.span.RecordError(err)
pt.cancel(base.Code_SchedError, err.Error())
Expand Down Expand Up @@ -316,6 +318,8 @@ func (pt *peerTaskConductor) register() error {
}
} else {
err = errors.Errorf("scheduler return tiny piece but can not parse piece content")
// when peer register failed, some actions need to do with peerPacketStream
pt.peerPacketStream = &dummyPeerPacketStream{}
pt.span.RecordError(err)
pt.Errorf("%s", err)
pt.cancel(base.Code_SchedError, err.Error())
Expand All @@ -330,6 +334,8 @@ func (pt *peerTaskConductor) register() error {
peerPacketStream, err := pt.schedulerClient.ReportPieceResult(pt.ctx, pt.request)
pt.Infof("step 2: start report piece result")
if err != nil {
// when peer register failed, some actions need to do with peerPacketStream
pt.peerPacketStream = &dummyPeerPacketStream{}
pt.span.RecordError(err)
pt.cancel(base.Code_SchedError, err.Error())
return err
Expand Down

0 comments on commit a12ef5f

Please sign in to comment.