Skip to content

Commit bf23951

Browse files
committed
refactor(client): improve error handling and logging in peer tasks
- Enhance error messages with more context and consistency - Optimize logging format for errors in peer task conductor and related components - Improve error recording in trace spans - Simplify error handling in various peer task functions Signed-off-by: “jinrong” <1460595002@qq.com>
1 parent 4d85d6c commit bf23951

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

client/daemon/peer/peertask_conductor.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -746,14 +746,14 @@ loop:
746746
}
747747
pt.Errorf("receive peer packet with error: %d", peerPacket.Code)
748748
if pt.isExitPeerPacketCode(peerPacket) {
749-
pt.Errorf(pt.failedReason)
749+
pt.Errorf("peer task failed: %s", pt.failedReason)
750750
pt.cancel(pt.failedCode, pt.failedReason)
751751
if !firstPacketReceived {
752-
firstPeerSpan.RecordError(fmt.Errorf(pt.failedReason))
752+
firstPeerSpan.RecordError(fmt.Errorf("peer task failed: %s", pt.failedReason))
753753
}
754754
pt.span.AddEvent("receive exit peer packet",
755755
trace.WithAttributes(config.AttributePeerPacketCode.Int(int(peerPacket.Code))))
756-
pt.span.RecordError(fmt.Errorf(pt.failedReason))
756+
pt.span.RecordError(fmt.Errorf("peer task failed: %s", pt.failedReason))
757757
break
758758
} else {
759759
pt.span.AddEvent("receive not success peer packet",
@@ -896,7 +896,7 @@ func (pt *peerTaskConductor) isExitPeerPacketCode(pp *schedulerv1.PeerPacket) bo
896896
st := status.Newf(codes.Aborted, "source response is not valid")
897897
st, err := st.WithDetails(pp.GetSourceError())
898898
if err != nil {
899-
pt.Errorf("convert source error details error: %s", err.Error())
899+
pt.Errorf("convert source error details error: %s", err)
900900
return false
901901
}
902902

@@ -1035,7 +1035,7 @@ func (pt *peerTaskConductor) waitFirstPeerPacket(done chan bool) {
10351035
pt.cancel(commonv1.Code_ClientScheduleTimeout, reasonBackSourceDisabled)
10361036
err := fmt.Errorf("%s, auto back source disabled", pt.failedReason)
10371037
pt.span.RecordError(err)
1038-
pt.Errorf(err.Error())
1038+
pt.Errorf("%s, auto back source disabled", pt.failedReason)
10391039
return
10401040
}
10411041
pt.Warnf("start download from source due to %s", reasonScheduleTimeout)

client/daemon/peer/peertask_file.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ func (f *fileTask) syncProgress() {
128128
f.storeToOutput()
129129
return
130130
case <-f.peerTaskConductor.failCh:
131-
f.span.RecordError(fmt.Errorf(f.peerTaskConductor.failedReason))
131+
f.span.RecordError(fmt.Errorf("peer task failed: %s", f.peerTaskConductor.failedReason))
132132
f.sendFailProgress(f.peerTaskConductor.failedCode, f.peerTaskConductor.failedReason)
133133
return
134134
case <-f.ctx.Done():

client/daemon/peer/peertask_reuse.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,15 +161,15 @@ func (ptm *peerTaskManager) tryReuseFilePeerTask(ctx context.Context,
161161
// KeepOriginalOffset case
162162
if length > 0 && stat.Size() == 0 {
163163
err = fmt.Errorf("reuse failed, output file size is zero, but target length %d is not zero", length)
164-
log.Errorf(err.Error())
164+
log.Errorf("reuse failed, output file size is zero, but target length %d is not zero", length)
165165
span.SetAttributes(config.AttributePeerTaskSuccess.Bool(false))
166166
span.RecordError(err)
167167
return nil, false
168168
}
169169
} else if length != stat.Size() {
170170
// normal case
171171
err = fmt.Errorf("reuse failed, output file size %d is not same with target length %d", stat.Size(), length)
172-
log.Errorf(err.Error())
172+
log.Errorf("reuse failed, output file size %d is not same with target length %d", stat.Size(), length)
173173
span.SetAttributes(config.AttributePeerTaskSuccess.Bool(false))
174174
span.RecordError(err)
175175
return nil, false

client/daemon/peer/peertask_stream.go

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ func (s *streamTask) Start(ctx context.Context) (io.ReadCloser, map[string]strin
164164
return nil, attr, ctx.Err()
165165
case <-s.peerTaskConductor.failCh:
166166
err := s.peerTaskConductor.getFailedError()
167-
s.Errorf("wait first piece failed due to %s", err.Error())
167+
s.Errorf("wait first piece failed due to %s", err)
168168
return nil, attr, err
169169
case <-s.peerTaskConductor.successCh:
170170
if s.peerTaskConductor.GetContentLength() != -1 {
@@ -174,7 +174,7 @@ func (s *streamTask) Start(ctx context.Context) (io.ReadCloser, map[string]strin
174174
}
175175
exa, err := s.peerTaskConductor.storage.GetExtendAttribute(ctx, nil)
176176
if err != nil {
177-
s.Errorf("read extend attribute error due to %s ", err.Error())
177+
s.Errorf("read extend attribute error due to %s ", err)
178178
return nil, attr, err
179179
}
180180
if exa != nil {
@@ -255,13 +255,14 @@ func (s *streamTask) writeToPipe(desired int32, piece *PieceInfo, pw *io.PipeWri
255255
return
256256
case <-s.ctx.Done():
257257
err = fmt.Errorf("context done due to: %s", s.ctx.Err())
258-
s.Errorf(err.Error())
258+
s.Errorf("context done due to: %s", s.ctx.Err())
259259
s.closeWithError(pw, err)
260260
return
261261
case <-s.peerTaskConductor.failCh:
262262
err = fmt.Errorf("stream close with peer task fail: %d/%s",
263263
s.peerTaskConductor.failedCode, s.peerTaskConductor.failedReason)
264-
s.Errorf(err.Error())
264+
s.Errorf("stream close with peer task fail: %d/%s",
265+
s.peerTaskConductor.failedCode, s.peerTaskConductor.failedReason)
265266
s.closeWithError(pw, err)
266267
return
267268
}
@@ -352,7 +353,7 @@ func (s *resumeStreamTask) Start(ctx context.Context) (io.ReadCloser, map[string
352353
return nil, attr, ctx.Err()
353354
case <-s.peerTaskConductor.failCh:
354355
err := s.peerTaskConductor.getFailedError()
355-
s.Errorf("wait next piece failed due to %s", err.Error())
356+
s.Errorf("wait next piece failed due to %s", err)
356357
return nil, attr, err
357358
case <-s.peerTaskConductor.successCh:
358359
goto pieceReady
@@ -366,7 +367,7 @@ func (s *resumeStreamTask) Start(ctx context.Context) (io.ReadCloser, map[string
366367
pieceReady:
367368
exa, err := s.peerTaskConductor.storage.GetExtendAttribute(ctx, nil)
368369
if err != nil {
369-
s.Errorf("read extend attribute error due to %s ", err.Error())
370+
s.Errorf("read extend attribute error due to %s ", err)
370371
return nil, attr, err
371372
}
372373
if exa != nil {
@@ -400,13 +401,14 @@ pieceReady:
400401
n, err := s.writePartialPiece(pw, nextPiece, skipBytesInNextPiece)
401402
if err != nil {
402403
err = fmt.Errorf("write partial piece %d to pipe failed: %s", nextPiece, err.Error())
403-
s.Errorf(err.Error())
404+
s.Errorf("write partial piece %d to pipe failed: %s", nextPiece, err)
404405
s.closeWithError(pw, err)
405406
return
406407
} else if n < int64(pieceSize)-skipBytesInNextPiece {
407408
err = fmt.Errorf("write partial piece %d to pipe failed: short write, desire: %d, actual: %d",
408409
nextPiece, int64(pieceSize)-skipBytesInNextPiece, n)
409-
s.Errorf(err.Error())
410+
s.Errorf("write partial piece %d to pipe failed: short write, desire: %d, actual: %d",
411+
nextPiece, int64(pieceSize)-skipBytesInNextPiece, n)
410412
s.closeWithError(pw, err)
411413
return
412414
}

0 commit comments

Comments
 (0)