Skip to content

Commit

Permalink
fix race
Browse files Browse the repository at this point in the history
  • Loading branch information
Gregory Russell committed Nov 10, 2019
1 parent cc213f8 commit c3b3ef3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 4 deletions.
8 changes: 5 additions & 3 deletions tracker/tracker.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,14 +138,16 @@ func (tr *Tracker) saveAllModifiedJobs() error {
// Start concurrent save of all jobs.
for key, job := range tr.jobs { // TODO - is job capture correct here?
if job.UpdateTime.After(last) || job.HeartbeatTime.After(last) {
eg.Go(func() error {
err := job.saveOrDelete(tr.saver)
jobCopy := *job
f := func() error {
err := jobCopy.saveOrDelete(tr.saver)
// We will eventually return only one error, so log all errors.
if err != nil {
log.Println(err)
}
return err
})
}
eg.Go(f)
if job.State == "Complete" {
delete(tr.jobs, key)
}
Expand Down
2 changes: 1 addition & 1 deletion tracker/tracker_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ func TestConcurrentUpdates(t *testing.T) {
}
defer cf()

tk, err := tracker.InitTracker(saver, time.Second)
tk, err := tracker.InitTracker(saver, 100*time.Millisecond)
if err != nil {
t.Fatal(err)
}
Expand Down

0 comments on commit c3b3ef3

Please sign in to comment.