@@ -166,7 +166,7 @@ func (r *Retryer) runRetryLoop(
166166 failedFuncInfo := funcinfos [groupErr .funcNum ]
167167
168168 // Not a transient error? Fail immediately.
169- if ! r .shouldRetryWithSleep (logger , sleepTime , * failedFuncInfo , groupErr .errFromCallback ) {
169+ if ! r .shouldRetryWithSleep (logger , sleepTime , r . callbacks [ groupErr . funcNum ] , groupErr .errFromCallback ) {
170170 return groupErr .errFromCallback
171171 }
172172
@@ -235,7 +235,7 @@ func (r *Retryer) addDescriptionToEvent(event *zerolog.Event) *zerolog.Event {
235235func (r * Retryer ) shouldRetryWithSleep (
236236 logger * logger.Logger ,
237237 sleepTime time.Duration ,
238- funcinfo FuncInfo ,
238+ cbInfo retryCallbackInfo ,
239239 err error ,
240240) bool {
241241 if err == nil {
@@ -250,26 +250,39 @@ func (r *Retryer) shouldRetryWithSleep(
250250 )
251251
252252 event := logger .WithLevel (
253- lo .Ternary (isTransient , zerolog .InfoLevel , zerolog .WarnLevel ),
253+ lo .Ternary (
254+ // If it’s transient, surface it as info.
255+ isTransient ,
256+ zerolog .InfoLevel ,
257+
258+ lo .Ternary (
259+ // Context cancellation is unimportant, so debug.
260+ errors .Is (err , context .Canceled ),
261+ zerolog .DebugLevel ,
262+
263+ // Other non-retryables are serious, so warn.
264+ zerolog .WarnLevel ,
265+ ),
266+ ),
254267 )
255268
256269 if loopDesc , hasLoopDesc := r .description .Get (); hasLoopDesc {
257270 event .Str ("operationDescription" , loopDesc )
258271 }
259272
260- event .Str ("callbackDescription" , funcinfo .description ).
273+ event .Str ("callbackDescription" , cbInfo .description ).
261274 Int ("error code" , util .GetErrorCode (err )).
262275 Err (err )
263276
264277 if isTransient {
265278 event .
266279 Stringer ("delay" , sleepTime ).
267- Msg ("Pausing before retrying after transient error ." )
280+ Msg ("Got retryable error. Pausing, then will retry ." )
268281
269282 return true
270283 }
271284
272- event .Msg ("Non-transient error occurred." )
285+ event .Msg ("Non-retryable error occurred." )
273286
274287 return false
275288}
0 commit comments