Skip to main content

worker_task_gone

Function worker_task_gone 

Source
async fn worker_task_gone<T>() -> T
Expand description

Waits forever, for a read_ts whose worker task is no longer there to answer it.

The worker task owns both ends of the internal channels, and while a caller holds a sender the only thing that ends it is the Tokio runtime dropping it during shutdown: a panic in the task would abort the process instead (mz_ore::panic::install_enhanced_handler). There is no timestamp that could be invented here without breaking linearizability, so the caller waits and shutdown drops its task at this await point.