Pull requests / #3337
#3337 [Other] Synchronize cache metrics after completed recovery clears
open · @oscarlius · 0 commentaires · Sur GitHub
Description
## Problem and result Issue #3047 can leave the Monitor conversation-cache current values stale after either completed non-finite-logit recovery clear message. The observer now recognizes only the two completed engine messages and resets `parked` and `bytes` while preserving cumulative cache history. ## Related discussion Continues #3049 after the 0.2.0-beta tracker reset. The original passed the new format check, but GitHub refused to reopen the rebased branch; [the reset bot](https://github.com/Niko1221/Strata/pull/3049#issuecomment-6282595417) explicitly suggested a new linked pull request. Fixes #3047. ## Approach - Add strict full-line recognition for the two completed recovery-clear messages in `serve/server.py`. - Reset only the current cache values, leaving eviction, park, restore, and last-event history unchanged. - Add local file and local HTTP regression coverage in `serve/test_cache_log_clear.py`. ## Validation Rebased on upstream main `e88ee39d1d6be6e3364183af3b39b62a7ed6f211` (0.2.0-beta); tested candidate `bc1a4e54b722d985c9205542bfc4fe17226d7987` on Windows, Python 3.14.3. Each test command starts a fresh local process. **Passed:** - `py -3.12 -m ruff check --output-format json serve/server.py serve/test_cache_log_clear.py` (Ruff 0.2.1): 10 existing diagnostics, same as unmodified main; zero new diagnostics. `python -m unittest serve.test_cache_log_clear` (4 tests); `python -m unittest serve.test_monitor serve.test_server serve.test_prometheus` (357 tests, 3 skipped); `python -m py_compile serve/server.py`; `git diff --check e88ee39d1d6be6e3364183af3b39b62a7ed6f211..HEAD`. **Failed:** Red reproduction used `git restore --source=e88ee39d1d6be6e3364183af3b39b62a7ed6f211 -- serve/server.py`, then `python -m unittest serve.test_cache_log_clear`, then `git restore --source=HEAD -- serve/server.py`. The test ran 4 tests and failed 8 assertions, including the local `/metrics` fixture retaining stale cache values. **Not run:** Native backend builds and real GPU/model tests. Only Python observer code changed. The Python 3.14.3 test environment had no Ruff; the separate Python 3.12.7 lint comparison above completed successfully. ## Limits The parser intentionally accepts only complete known engine recovery messages. Validation used local file fixtures and a local MockEngine HTTP server; it did not use a real engine or a production service.
Sur le site
Liens install, modèles, releases.