Fix: keep recording folders responsive while metadata images load - #88
Fix: keep recording folders responsive while metadata images load#88hotzenplotz5 wants to merge 14 commits into
Conversation
|
CI-Abnahme nach der Link-Korrektur vollständig erfolgreich:
Der erste Lauf hatte ausschließlich das bereits seit der EPG-Metadatenintegration unvollständige Link-Target |
|
Closing as a stale mixed fix. The user-visible recording-folder blocking regression is covered on current main by the bounded image-write isolation path and its regression test. The separate transport-level META reply cache from this old branch was not retained as a current contract; today's EPG/cache architecture has moved on substantially. If repeated META lookups are still measurable on current main, that should be reproduced and handled as a fresh focused performance issue rather than merging this historical branch. |
Nachgewiesene Ursache
Der Regressionstest auf dem realen VDR hat zwei voneinander unabhängige Blockaden gezeigt:
SimpleHttpListenerakzeptierte Verbindungen seriell und schrieb auch großeimage/*-Antworten vollständig, bevor die nächste Verbindung angenommen wurde. Eine langsame Mobilverbindung beziehungsweise ein noch nicht lesender Bild-Client konnte dadurch einen nachfolgenden Aufnahmeordner-Request blockieren. Der direkte lokale Ordneraufruf blieb dabei gesund (HTTP 200, rund 85 ms), während die Browseroberfläche weiterhin bei „Lade Aufnahmeordner …“ stand.Änderung
META-Auflösung
channelId + eventId250-Antworten werden gespeichertHTTP-Auslieferung
ApiRouter, SQLite und Backend-Adapter bleiben vollständig seriell auf dem Listener-Threadimage/*-Antworten werden an einen begrenzten Writer-Pool übergeben503-Antwort geliefert, statt API-Aufrufe zu blockierenReproduzierender Regressionstest
test_simple_http_listener_image_write_isolation.cpperzeugt eine 16-MB-Bildantwort an einen Client, der die Antwort nicht liest, und fordert parallel den AufnahmeordnerControlan.HTTP 200innerhalb von 1,2 SekundenWeitere Tests
test-epg-cache-artwork-jsontest-ci-fastundtest-vdrregistriertDer Personen-Feature-Branch bleibt weiterhin unverändert auf
main. Dieser PR enthält ausschließlich den Regression-Fix und wird erst nach erneutem realen Mobiltest gemergt.