You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// FIXME: This line occasionally hangs. If you uncomment `yield_now` above,
// the hang occurs deterministically.
let sock = listener.next().timeout().await.unwrap().unwrap();
The tokio::time::advance should trigger a subscription renewal and the hub listener should receive a subscription request, but in fact, the listener occasionally hangs.
If you uncomment the yield_now, the Scheduler's get_next_tick callback seems to fire before calling tokio::time::advance(), which is unexpected since the refresh_time has not passed then.
Workaround for this was made by replacing the usage of pause()/advance() with actual sleep()s (2b2fb9c), but this is definitely not great as it significantly delays the tests.
Offending code in the test:
pipitor/src/websub/subscriber.rs
Lines 340 to 350 in a664f9e
The
tokio::time::advance
should trigger a subscription renewal and the hublistener
should receive a subscription request, but in fact, thelistener
occasionally hangs.If you uncomment the
yield_now
, theScheduler
'sget_next_tick
callback seems to fire before callingtokio::time::advance()
, which is unexpected since therefresh_time
has not passed then.tokio-rs/tokio#2090 may be relevant, I guess.
The text was updated successfully, but these errors were encountered: