Skip to content

Commit edee1a8

Browse files
committed
check srcClosed
1 parent bae1a1a commit edee1a8

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

internal/verifier/compare.go

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -154,25 +154,28 @@ func (verifier *Verifier) compareDocsFromChannels(
154154
var srcDoc, dstDoc bson.Raw
155155

156156
eg, egCtx := errgroup.WithContext(ctx)
157-
eg.Go(func() error {
158-
var alive bool
159-
select {
160-
case <-egCtx.Done():
161-
return egCtx.Err()
162-
case <-readTimer.C:
163-
return errors.Errorf(
164-
"failed to read from source after %s",
165-
readTimeout,
166-
)
167-
case srcDoc, alive = <-srcChannel:
168-
if !alive {
169-
srcClosed = true
170-
break
157+
158+
if !srcClosed {
159+
eg.Go(func() error {
160+
var alive bool
161+
select {
162+
case <-egCtx.Done():
163+
return egCtx.Err()
164+
case <-readTimer.C:
165+
return errors.Errorf(
166+
"failed to read from source after %s",
167+
readTimeout,
168+
)
169+
case srcDoc, alive = <-srcChannel:
170+
if !alive {
171+
srcClosed = true
172+
break
173+
}
171174
}
172-
}
173175

174-
return nil
175-
})
176+
return nil
177+
})
178+
}
176179

177180
if !dstClosed {
178181
eg.Go(func() error {

0 commit comments

Comments
 (0)