@@ -84,8 +84,8 @@ func startWorkManager(t *testing.T, numWorkers int) (WorkManager,
84
84
NewWorker : func (peer Peer ) Worker {
85
85
m := & mockWorker {
86
86
peer : peer ,
87
- nextJob : make (chan * queryJob ),
88
- results : make (chan * jobResult ),
87
+ nextJob : make (chan * queryJob , maxJobs ),
88
+ results : make (chan * jobResult , maxJobs ),
89
89
}
90
90
workerChan <- m
91
91
return m
@@ -205,7 +205,7 @@ func TestWorkManagerWorkDispatcherFailures(t *testing.T) {
205
205
for i := 0 ; i < numQueries ; i ++ {
206
206
q := & Request {}
207
207
queries [i ] = q
208
- scheduledJobs [i ] = make (chan sched )
208
+ scheduledJobs [i ] = make (chan sched , maxJobs )
209
209
}
210
210
211
211
// For each worker, spin up a goroutine that will forward the job it
@@ -387,7 +387,7 @@ func TestWorkManagerCancelBatch(t *testing.T) {
387
387
// TestWorkManagerWorkRankingScheduling checks that the work manager schedules
388
388
// jobs among workers according to the peer ranking.
389
389
func TestWorkManagerWorkRankingScheduling (t * testing.T ) {
390
- const numQueries = 4
390
+ const numQueries = 40
391
391
const numWorkers = 8
392
392
393
393
workMgr , workers := startWorkManager (t , numWorkers )
@@ -414,7 +414,7 @@ func TestWorkManagerWorkRankingScheduling(t *testing.T) {
414
414
var jobs []* queryJob
415
415
for i := 0 ; i < numQueries ; i ++ {
416
416
select {
417
- case job := <- workers [i ].nextJob :
417
+ case job := <- workers [i / 10 ].nextJob :
418
418
if job .index != uint64 (i ) {
419
419
t .Fatalf ("unexpected job" )
420
420
}
@@ -449,7 +449,7 @@ func TestWorkManagerWorkRankingScheduling(t *testing.T) {
449
449
// Go backwards, and succeed the queries.
450
450
for i := numQueries - 1 ; i >= 0 ; i -- {
451
451
select {
452
- case workers [i ].results <- & jobResult {
452
+ case workers [i / 10 ].results <- & jobResult {
453
453
job : jobs [i ],
454
454
err : nil ,
455
455
}:
0 commit comments