@@ -32,6 +32,7 @@ use crate::{
32
32
MasNewEmailThreepid , MasNewUnsupportedThreepid , MasNewUpstreamOauthLink , MasNewUser ,
33
33
MasNewUserPassword , MasWriteBuffer , MasWriter ,
34
34
} ,
35
+ progress_stream:: ProgressStreamExt ,
35
36
synapse_reader:: {
36
37
self , ExtractLocalpartError , FullUserId , SynapseAccessToken , SynapseDevice ,
37
38
SynapseExternalId , SynapseRefreshableTokenPair , SynapseThreepid , SynapseUser ,
@@ -224,16 +225,11 @@ async fn migrate_users(
224
225
) -> Result < ( MasWriter , MigrationState ) , Error > {
225
226
let start = Instant :: now ( ) ;
226
227
227
- let span = Span :: current ( ) ;
228
- span. pb_set_length ( count_hint as u64 ) ;
229
-
230
228
let mut user_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_users) ;
231
229
let mut password_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_passwords) ;
232
- let mut users_stream = pin ! ( synapse. read_users( ) ) ;
230
+ let mut users_stream = pin ! ( synapse. read_users( ) . with_progress_bar ( count_hint , 10_000 ) ) ;
233
231
234
232
while let Some ( user_res) = users_stream. next ( ) . await {
235
- span. pb_inc ( 1 ) ;
236
-
237
233
let user = user_res. into_synapse ( "reading user" ) ?;
238
234
let ( mas_user, mas_password_opt) = transform_user ( & user, & state. server_name , rng) ?;
239
235
@@ -310,16 +306,15 @@ async fn migrate_threepids(
310
306
) -> Result < ( MasWriter , MigrationState ) , Error > {
311
307
let start = Instant :: now ( ) ;
312
308
313
- let span = Span :: current ( ) ;
314
- span. pb_set_length ( count_hint as u64 ) ;
315
-
316
309
let mut email_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_email_threepids) ;
317
310
let mut unsupported_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_unsupported_threepids) ;
318
- let mut users_stream = pin ! ( synapse. read_threepids( ) ) ;
311
+ let mut users_stream = pin ! (
312
+ synapse
313
+ . read_threepids( )
314
+ . with_progress_bar( count_hint, 10_000 )
315
+ ) ;
319
316
320
317
while let Some ( threepid_res) = users_stream. next ( ) . await {
321
- span. pb_inc ( 1 ) ;
322
-
323
318
let SynapseThreepid {
324
319
user_id : synapse_user_id,
325
320
medium,
@@ -405,15 +400,15 @@ async fn migrate_external_ids(
405
400
state : MigrationState ,
406
401
) -> Result < ( MasWriter , MigrationState ) , Error > {
407
402
let start = Instant :: now ( ) ;
408
- let span = Span :: current ( ) ;
409
- span. pb_set_length ( count_hint as u64 ) ;
410
403
411
404
let mut write_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_upstream_oauth_links) ;
412
- let mut extids_stream = pin ! ( synapse. read_user_external_ids( ) ) ;
405
+ let mut extids_stream = pin ! (
406
+ synapse
407
+ . read_user_external_ids( )
408
+ . with_progress_bar( count_hint, 10_000 )
409
+ ) ;
413
410
414
411
while let Some ( extid_res) = extids_stream. next ( ) . await {
415
- span. pb_inc ( 1 ) ;
416
-
417
412
let SynapseExternalId {
418
413
user_id : synapse_user_id,
419
414
auth_provider,
@@ -494,15 +489,10 @@ async fn migrate_devices(
494
489
) -> Result < ( MasWriter , MigrationState ) , Error > {
495
490
let start = Instant :: now ( ) ;
496
491
497
- let span = Span :: current ( ) ;
498
- span. pb_set_length ( count_hint as u64 ) ;
499
-
500
- let mut devices_stream = pin ! ( synapse. read_devices( ) ) ;
492
+ let mut devices_stream = pin ! ( synapse. read_devices( ) . with_progress_bar( count_hint, 10_000 ) ) ;
501
493
let mut write_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_sessions) ;
502
494
503
495
while let Some ( device_res) = devices_stream. next ( ) . await {
504
- span. pb_inc ( 1 ) ;
505
-
506
496
let SynapseDevice {
507
497
user_id : synapse_user_id,
508
498
device_id,
@@ -604,17 +594,16 @@ async fn migrate_unrefreshable_access_tokens(
604
594
) -> Result < ( MasWriter , MigrationState ) , Error > {
605
595
let start = Instant :: now ( ) ;
606
596
607
- let span = Span :: current ( ) ;
608
- span. pb_set_length ( count_hint as u64 ) ;
609
-
610
- let mut token_stream = pin ! ( synapse. read_unrefreshable_access_tokens( ) ) ;
597
+ let mut token_stream = pin ! (
598
+ synapse
599
+ . read_unrefreshable_access_tokens( )
600
+ . with_progress_bar( count_hint, 10_000 )
601
+ ) ;
611
602
let mut write_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_access_tokens) ;
612
603
let mut deviceless_session_write_buffer =
613
604
MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_sessions) ;
614
605
615
606
while let Some ( token_res) = token_stream. next ( ) . await {
616
- span. pb_inc ( 1 ) ;
617
-
618
607
let SynapseAccessToken {
619
608
user_id : synapse_user_id,
620
609
device_id,
@@ -729,18 +718,17 @@ async fn migrate_refreshable_token_pairs(
729
718
) -> Result < ( MasWriter , MigrationState ) , Error > {
730
719
let start = Instant :: now ( ) ;
731
720
732
- let span = Span :: current ( ) ;
733
- span. pb_set_length ( count_hint as u64 ) ;
734
-
735
- let mut token_stream = pin ! ( synapse. read_refreshable_token_pairs( ) ) ;
721
+ let mut token_stream = pin ! (
722
+ synapse
723
+ . read_refreshable_token_pairs( )
724
+ . with_progress_bar( count_hint, 10_000 )
725
+ ) ;
736
726
let mut access_token_write_buffer =
737
727
MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_access_tokens) ;
738
728
let mut refresh_token_write_buffer =
739
729
MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_refresh_tokens) ;
740
730
741
731
while let Some ( token_res) = token_stream. next ( ) . await {
742
- span. pb_inc ( 1 ) ;
743
-
744
732
let SynapseRefreshableTokenPair {
745
733
user_id : synapse_user_id,
746
734
device_id,
0 commit comments