Skip to content

Commit a9fa839

Browse files
committed
roachtest: surface changefeed failures in mixed-version CDC tests
Previously, if the changefeed failed in a mixed-version CDC test, the test wouldn't fail until it hit the timeout. We now periodically check for changefeed failures and fail the test if one is found. Release note: None
1 parent 2a307b2 commit a9fa839

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

pkg/cmd/roachtest/tests/mixed_version_cdc.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ type cdcMixedVersionTester struct {
140140

141141
validator *cdctest.CountValidator
142142
fprintV *cdctest.FingerprintValidator
143+
144+
jobID int
143145
}
144146

145147
func newCDCMixedVersionTester(ctx context.Context, c cluster.Cluster) cdcMixedVersionTester {
@@ -186,6 +188,25 @@ func (cmvt *cdcMixedVersionTester) StartKafka(t test.Test, c cluster.Cluster) (c
186188
func (cmvt *cdcMixedVersionTester) waitAndValidate(
187189
ctx context.Context, l *logger.Logger, r *rand.Rand, h *mixedversion.Helper,
188190
) error {
191+
cancel := h.GoWithCancel(func(ctx context.Context, l *logger.Logger) error {
192+
for {
193+
select {
194+
case <-time.After(5 * time.Second):
195+
_, db := h.RandomDB(r)
196+
info, err := getChangefeedInfo(db, cmvt.jobID)
197+
if err != nil {
198+
return err
199+
}
200+
if info.GetStatus() == "failed" {
201+
return errors.Newf("changefeed failed: %s", info.GetError())
202+
}
203+
case <-ctx.Done():
204+
return ctx.Err()
205+
}
206+
}
207+
})
208+
defer cancel()
209+
189210
l.Printf("waiting for %d resolved timestamps", resolvedTimestampsPerState)
190211
// create a new channel for the resolved timestamps, allowing any
191212
// new resolved timestamps to be captured and account for in the
@@ -403,6 +424,7 @@ func (cmvt *cdcMixedVersionTester) createChangeFeed(
403424
return err
404425
}
405426
l.Printf("created changefeed job %d", jobID)
427+
cmvt.jobID = jobID
406428
return nil
407429
}
408430

0 commit comments

Comments
 (0)