pingora/pingora-cache
Matthew Gumport e288bfe8f0 change lock status memory ordering, tag spans
This changes the memory ordering for the lock status load to `SeqCst` from
`Relaxed` to eliminate a potential source of panics.

Panics had the frames:
```
pingora_proxy::proxy_cache::<T>::handle_lock_status (proxy_cache.rs:748)
pingora_proxy::proxy_cache::<T>::proxy_cache::{{closure}} (proxy_cache.rs:211)
pingora_proxy::HttpProxy<T>::process_request::{{closure}} (lib.rs:509)
pingora_proxy::HttpProxy<T>::process_new_http::{{closure}} (lib.rs:727)
```

which showed we were checking on the status of the lock, after waiting on it,
and still seeing its status as waiting. The status is returned by value, so this
is not a time-of-check to time-of-use problem, this is an inconsistency in how
the lock status is managed. The change in memory order is mostly for the sake of
this programmer's attempts to understand what is happening.

This also completes a couple of TODOs to limit the wait period as well as tag
the span with the lock status.
2024-09-06 13:43:53 -07:00
..
benches Release Pingora version 0.1.0 2024-02-27 20:25:44 -08:00
src change lock status memory ordering, tag spans 2024-09-06 13:43:53 -07:00
Cargo.toml change lock status memory ordering, tag spans 2024-09-06 13:43:53 -07:00
LICENSE Release Pingora version 0.1.0 2024-02-27 20:25:44 -08:00