@@ -290,7 +290,7 @@ func (bd *backupDriver) monitorBackups(ctx context.Context) error {
290
290
if bd .sp .fixture .CompactionThreshold > 0 {
291
291
bd .t .L ().Printf ("%d compaction jobs succeeded, %d running" , len (compSuccess ), len (compRunning ))
292
292
if len (compFailed ) > 0 {
293
- return errors .Newf ("compaction jobs with ids %v failed " , compFailed )
293
+ return errors .Newf ("compaction jobs failed: %v " , compFailed )
294
294
}
295
295
}
296
296
@@ -307,7 +307,7 @@ func (bd *backupDriver) monitorBackups(ctx context.Context) error {
307
307
}
308
308
case WaitingCompactions :
309
309
if len (compFailed ) > 0 {
310
- return errors .Newf ("compaction jobs with ids %v failed " , compFailed )
310
+ return errors .Newf ("compaction jobs failed: %v " , compFailed )
311
311
} else if len (compRunning ) > 0 {
312
312
bd .t .L ().Printf ("waiting for %d compaction jobs to finish" , len (compRunning ))
313
313
} else {
@@ -318,41 +318,43 @@ func (bd *backupDriver) monitorBackups(ctx context.Context) error {
318
318
return nil
319
319
}
320
320
321
+ type jobMeta struct {
322
+ jobID jobspb.JobID
323
+ state jobs.State
324
+ error string
325
+ }
326
+
321
327
// compactionJobStates returns the state of the compaction jobs, returning
322
- // the IDs of the jobs that succeeded, are running, and failed.
328
+ // a partition of jobs that succeeded, are running, and failed.
323
329
func (bd * backupDriver ) compactionJobStates (
324
330
sql * sqlutils.SQLRunner ,
325
- ) ([]jobspb. JobID , []jobspb. JobID , []jobspb. JobID , error ) {
331
+ ) ([]jobMeta , []jobMeta , []jobMeta , error ) {
326
332
if bd .sp .fixture .CompactionThreshold == 0 {
327
333
return nil , nil , nil , nil
328
334
}
329
- type Job struct {
330
- jobID jobspb.JobID
331
- status jobs.State
332
- }
333
- compactionQuery := `SELECT job_id, status FROM [SHOW JOBS] WHERE job_type = 'BACKUP' AND
335
+ compactionQuery := `SELECT job_id, status, error FROM [SHOW JOBS] WHERE job_type = 'BACKUP' AND
334
336
description ILIKE 'COMPACT BACKUPS%'`
335
337
rows := sql .Query (bd .t , compactionQuery )
336
338
defer rows .Close ()
337
- var compJobs []Job
339
+ var compJobs []jobMeta
338
340
for rows .Next () {
339
- var job Job
340
- if err := rows .Scan (& job .jobID , & job .status ); err != nil {
341
+ var job jobMeta
342
+ if err := rows .Scan (& job .jobID , & job .state , & job . error ); err != nil {
341
343
return nil , nil , nil , errors .Wrapf (err , "error scanning compaction job" )
342
344
}
343
345
compJobs = append (compJobs , job )
344
346
}
345
- var successes , running , failures []jobspb. JobID
347
+ var successes , running , failures []jobMeta
346
348
for _ , job := range compJobs {
347
- switch job .status {
349
+ switch job .state {
348
350
case jobs .StateSucceeded :
349
- successes = append (successes , job . jobID )
351
+ successes = append (successes , job )
350
352
case jobs .StateRunning :
351
- running = append (running , job . jobID )
353
+ running = append (running , job )
352
354
case jobs .StateFailed :
353
- failures = append (failures , job . jobID )
355
+ failures = append (failures , job )
354
356
default :
355
- bd .t .L ().Printf (`unexpected compaction job %d in state %s` , job .jobID , job .status )
357
+ bd .t .L ().Printf (`unexpected compaction job %d in state %s` , job .jobID , job .state )
356
358
}
357
359
}
358
360
return successes , running , failures , nil
0 commit comments