Skip to content

Commit bbd5321

Browse files
committed
detect hang & fail
1 parent d7e788d commit bbd5321

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

internal/verifier/change_stream.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,18 @@ func (verifier *Verifier) iterateChangeStream(ctx context.Context, cs *mongo.Cha
155155
}
156156

157157
if err != nil && !errors.Is(err, context.Canceled) {
158-
verifier.changeStreamErrChan <- err
158+
timeout := time.Minute
159+
timer := time.NewTimer(timeout)
160+
defer timer.Stop()
161+
162+
select {
163+
case <-timer.C:
164+
verifier.logger.Fatal().
165+
Err(err).
166+
Stringer("timeout", timeout).
167+
Msg("Failed to send change stream err within timeout.")
168+
case verifier.changeStreamErrChan <- err:
169+
}
159170

160171
if !changeStreamEnded {
161172
return

0 commit comments

Comments
 (0)