Speasy
Description
What's Changed
Behavior changes:
Empty cache fragments (zero rows, or all-NaN/inf) written before 1.8.1 are no longer trusted: they are treated as a cache miss and refetched on read, then rewritten so they are trusted afterwards. This heals fragments that older Speasy cached empty -- during upstream backfill latency, or from a request that ran past a product's coverage -- and then served empty indefinitely. Genuine empty ranges written by 1.8.1+ are kept.
AMDA/CSA requests no longer crash the whole call when the server is unreachable; the failure is now reported per-request instead.
Raised the minimum
pysciqlop-cacheversion to 0.1.11. Below that version, running under a forked worker pool (e.g. gunicorn--preload) could make two different cache keys collide on the same file-backed blob path, since forked workers inherited the same Mersenne Twister RNG state used to generate those paths -- the last writer would silently win, and a read could get back another product's bytes. This only affects deployments that fork a shared cache after creating it; a normal single-process Speasy install was not exposed.Don't crash when AMDA/CSA server is unreachable by @jeandet in https://github.com/SciQLop/speasy/pull/359
Self-heal empty cache fossils via a per-entry epoch by @jeandet in https://github.com/SciQLop/speasy/pull/360
Bump github/codeql-action from 4.37.8 to 4.37.9 by @dependabot[bot] in https://github.com/SciQLop/speasy/pull/358
Full Changelog: https://github.com/SciQLop/speasy/compare/v1.8.0...v1.8.1
Notes
Files
SciQLop/speasy-v1.8.1.zip
Files
(13.4 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:920053282ffa353f7609a3ccf71a838b
|
13.4 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/SciQLop/speasy/tree/v1.8.1 (URL)
Software
- Repository URL
- https://github.com/SciQLop/speasy