@@ -273,9 +273,14 @@ async fn migrate_users(
273
273
let mut user_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_users) ;
274
274
let mut password_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_passwords) ;
275
275
276
+ let mut i = 0 ;
276
277
while let Ok ( user) = rx. recv_async ( ) . await {
277
- // Force yielding to the scheduler, else we'll have long tick times
278
- tokio:: task:: yield_now ( ) . await ;
278
+ // Force yielding to the scheduler every once in a while, else we'll have long
279
+ // tick times
280
+ i += 1 ;
281
+ if i % 128 == 0 {
282
+ tokio:: task:: yield_now ( ) . await ;
283
+ }
279
284
280
285
// Handling an edge case: some AS users may have invalid localparts containing
281
286
// extra `:` characters. These users are ignored and a warning is logged.
@@ -617,9 +622,14 @@ async fn migrate_devices(
617
622
async move {
618
623
let mut write_buffer = MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_sessions) ;
619
624
625
+ let mut i = 0 ;
620
626
while let Ok ( device) = rx. recv_async ( ) . await {
621
- // Force yielding to the scheduler, else we'll have long tick times
622
- tokio:: task:: yield_now ( ) . await ;
627
+ // Force yielding to the scheduler every once in a while, else we'll have long
628
+ // tick times
629
+ i += 1 ;
630
+ if i % 128 == 0 {
631
+ tokio:: task:: yield_now ( ) . await ;
632
+ }
623
633
624
634
let SynapseDevice {
625
635
user_id : synapse_user_id,
@@ -773,9 +783,14 @@ async fn migrate_unrefreshable_access_tokens(
773
783
let mut deviceless_session_write_buffer =
774
784
MasWriteBuffer :: new ( & mas, MasWriter :: write_compat_sessions) ;
775
785
786
+ let mut i = 0 ;
776
787
while let Ok ( token) = rx. recv_async ( ) . await {
777
- // Force yielding to the scheduler, else we'll have long tick times
778
- tokio:: task:: yield_now ( ) . await ;
788
+ // Force yielding to the scheduler every once in a while, else we'll have long
789
+ // tick times
790
+ i += 1 ;
791
+ if i % 128 == 0 {
792
+ tokio:: task:: yield_now ( ) . await ;
793
+ }
779
794
780
795
let SynapseAccessToken {
781
796
user_id : synapse_user_id,
0 commit comments