2 months ago
899acd2- attempt_remote_reconnect's re_resolve closure now spawns a fetch event listener thread for the reconnected source, moving the cache_pin_guard into that thread so it lives for the duration of the reconnected playback. Without this, the reconnected source's cache entry was unpinned (could be evicted mid-playback) and subsequent transient failures had no listener (reconnect could only succeed once). - When the reconnected source has no fetch_event_rx (e.g. cache fast path), the pin guard is kept alive in a parked thread to prevent eviction during playback. - Fix stale comment in executor.rs: StaleRequest maps to LocalState::Dirty (mirroring OperationCancelled), not 'does not mark the publish dirty' as the old comment claimed.
Parent61c0e6c