mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-14 03:30:36 +00:00
THE PLAN
- Timeline::get calls reconstruct data ⇒ turn that into a Pin<Box<dyn Future…>> . - Problem there: we call layer.get_reconstruct_data while holding layer map lock ⇒ it’s a std rwlock ⇒ need to turn it into a parking_lot mutex whose guards are Send - Problem there: we sometimes hold the Tenant::timelines std mutex while holding layer map lock (branching?) ⇒ need to turn it into parking_lot mutex whose guards are Send So, tackle things in reverse here.
This commit is contained in: