@@ -58,15 +58,14 @@ func RunMigration(ctx context.Context, cfg Config, cache MigrationCache, store c
58
58
}); err != nil {
59
59
return xerrors .Errorf ("error iterating actors: %w" , err )
60
60
}
61
- log .Log (rt .INFO , "Done creating %d migration jobs after %v" , jobCount , time .Since (startTime ))
61
+ log .Log (rt .INFO , "Done creating %d migration jobs after %v" , jobCount , time .Since (startTime ). Round ( 100 * time . Millisecond ) )
62
62
return nil
63
63
})
64
64
65
65
// Worker threads run jobs.
66
66
var workerWg sync.WaitGroup
67
67
for i := uint (0 ); i < cfg .MaxWorkers ; i ++ {
68
68
workerWg .Add (1 )
69
- workerId := i
70
69
grp .Go (func () error {
71
70
defer workerWg .Done ()
72
71
for job := range jobCh {
@@ -91,7 +90,6 @@ func RunMigration(ctx context.Context, cfg Config, cache MigrationCache, store c
91
90
92
91
atomic .AddUint32 (& doneCount , 1 )
93
92
}
94
- log .Log (rt .INFO , "Worker %d done" , workerId )
95
93
return nil
96
94
})
97
95
}
@@ -106,13 +104,13 @@ func RunMigration(ctx context.Context, cfg Config, cache MigrationCache, store c
106
104
for {
107
105
select {
108
106
case <- time .After (cfg .ProgressLogPeriod ):
109
- jobsNow := jobCount // Snapshot values to avoid incorrect-looking arithmetic if they change.
110
- doneNow := doneCount
111
- pendingNow := jobsNow - doneNow
107
+ jobsNow := atomic .LoadUint32 (& jobCount )
108
+ doneNow := atomic .LoadUint32 (& doneCount )
112
109
elapsed := time .Since (startTime )
113
110
rate := float64 (doneNow ) / elapsed .Seconds ()
114
- log .Log (rt .INFO , "%d jobs created, %d done, %d pending after %v (%.0f/s)" ,
115
- jobsNow , doneNow , pendingNow , elapsed , rate )
111
+
112
+ log .Log (rt .INFO , "Performing migration: %d of %d jobs processed (%.0f/s) [%v elapsed]" ,
113
+ doneNow , jobsNow , rate , elapsed .Round (time .Second ))
116
114
case <- workersFinished :
117
115
return
118
116
case <- ctx .Done ():
@@ -127,7 +125,7 @@ func RunMigration(ctx context.Context, cfg Config, cache MigrationCache, store c
127
125
workerWg .Wait ()
128
126
close (jobResultCh )
129
127
close (workersFinished )
130
- log .Log (rt .INFO , "All workers done after %v" , time .Since (startTime ))
128
+ log .Log (rt .INFO , "All workers done after %v" , time .Since (startTime ). Round ( 100 * time . Millisecond ) )
131
129
return nil
132
130
})
133
131
@@ -148,7 +146,7 @@ func RunMigration(ctx context.Context, cfg Config, cache MigrationCache, store c
148
146
}
149
147
resultCount ++
150
148
}
151
- log .Log (rt .INFO , "Result writer wrote %d results to state tree after %v" , resultCount , time .Since (startTime ))
149
+ log .Log (rt .INFO , "Result writer wrote %d results to state tree after %v" , resultCount , time .Since (startTime ). Round ( 100 * time . Millisecond ) )
152
150
return nil
153
151
})
154
152
@@ -197,7 +195,7 @@ func RunMigration(ctx context.Context, cfg Config, cache MigrationCache, store c
197
195
198
196
elapsed := time .Since (startTime )
199
197
rate := float64 (doneCount ) / elapsed .Seconds ()
200
- log .Log (rt .INFO , "All %d done after %v (%.0f/s)" , doneCount , elapsed , rate )
198
+ log .Log (rt .INFO , "All %d done after %v (%.0f/s)" , doneCount , elapsed . Round ( 100 * time . Millisecond ) , rate )
201
199
202
200
return actorsOut , nil
203
201
}
0 commit comments