Skip to content

Commit 9064847

Browse files
committed
dialers/retrier: m err logs
1 parent 05828bf commit 9064847

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

intra/common.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -273,8 +273,8 @@ func (h *baseHandler) forward(local, remote net.Conn, smm *SocketSummary) {
273273
remote = r.Unwrap() // c may be *net.TCPConn or retrier or splitter
274274
}
275275
}
276-
log.I("com: %s: forward: new conn %s rwext? %t, sockopt? %t (%ds); %s for %s",
277-
h.proto, via, isrwext, withsockopt, timeoutsecs, tup, uid)
276+
log.I("com: %s: forward: new conn %s rwext? %t (%T), sockopt? %t (%ds); %s for %s",
277+
h.proto, via, isrwext, remote, withsockopt, timeoutsecs, tup, uid)
278278

279279
uploadch := make(chan ioinfo)
280280

intra/dialers/retrier.go

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -308,8 +308,8 @@ func (r *retrier) dialLocked() (c protect.Conn, err error) {
308308
r.conn = c // c may be nil
309309
r.timeout = calcTimeout(rtt)
310310

311-
logeif(err)("retrier: dial(%s) %s=>%s; strat: %d (mult? %t), rtt: %dms; err? %v",
312-
r.dialerOpts, laddr(c), r.raddr, strat, r.multidial, rtt.Milliseconds(), err)
311+
logeif(err)("retrier: dial(%s) %s=>%s; strat: %d (mult? %d), rtt: %dms; err? %v",
312+
r.dialerOpts, laddr(c), r.raddr, strat, len(r.dialers), rtt.Milliseconds(), err)
313313

314314
return
315315
}
@@ -321,13 +321,15 @@ func (r *retrier) doDialLocked(dialStrat int32) (protect.Conn, error) {
321321
var errs error
322322
for ; r.nextDialerIdx < len(r.dialers); r.nextDialerIdx++ {
323323
c, err := protect.Dial(r.dialers[r.nextDialerIdx], r.laddr, r.raddr)
324+
325+
logeif(err)("retrier: mult: #%d/%d dial(%s) %s=>%s; strat: %d, err? %v",
326+
r.nextDialerIdx, len(r.dialers), r.dialerOpts, laddr(c), r.raddr, dialStrat, err)
327+
324328
if err == nil {
325329
return c, nil
326330
} else {
327331
clos(c)
328332
errs = core.JoinErr(errs, err)
329-
logeif(err)("retrier: mult: #%d dial(%s) %s=>%s; strat: %d, err? %v",
330-
r.nextDialerIdx, r.dialerOpts, laddr(c), r.raddr, dialStrat, err)
331333
}
332334
}
333335
return nil, core.OneErr(errs, errNoDialer)
@@ -438,26 +440,28 @@ func (r *retrier) Read(buf []byte) (n int, err error) {
438440
if !r.retryCompleted() {
439441
note = log.I
440442
defer close(r.retryDoneCh) // signal that retry is complete or unnecessary
441-
var retryReadErr error
443+
444+
retryReadErr := err
442445
// retry on errs like timeouts or connection resets
443-
for (c == nil || core.IsNil(c) || err != nil) && r.canRetryLocked() {
446+
for (c == nil || core.IsNil(c) || retryReadErr != nil) && r.canRetryLocked() {
444447
r.retryCount++
445448
n, retryReadErr = r.retryWriteReadLocked(buf)
446449
c = r.conn // re-assign c to newConn, if any; may be nil
447-
if c == nil || core.IsNil(c) {
450+
if c == nil || core.IsNil(c) || retryReadErr != nil {
448451
retryReadErr = core.OneErr(retryReadErr, errNoConn)
449452
err = core.JoinErr(err, retryReadErr)
450453
} else {
451-
err = nil // break
454+
retryReadErr = nil // break
455+
err = nil // return no error
452456
}
453-
logeor(retryReadErr, note)("retrier: read#%d + (mult? %t / c: %d): [%s<=%s] %d; err? %v",
457+
logeor(retryReadErr, note)("retrier: read: #%d + (mult? %t / c: %d): [%s<=%s] %d; err? %v",
454458
r.retryCount, r.multidial, r.nextDialerIdx, laddr(c), r.raddr, n, retryReadErr)
455459
}
456460
if c != nil && core.IsNotNil(c) {
457461
_ = c.SetReadDeadline(r.readDeadline)
458462
_ = c.SetWriteDeadline(r.writeDeadline)
459463
}
460-
logeor(err, note)("retrier: read#%d + (mult? %d / %d) [%s<=%s] %d; err? %v",
464+
logeor(err, note)("retrier: read: #%d + (mult? %d / %d) [%s<=%s] %d; err? %v",
461465
r.retryCount, len(r.dialers), r.nextDialerIdx, laddr(c), r.raddr, n, err)
462466
r.tee = nil // discard teed data
463467
return

0 commit comments

Comments
 (0)