Files
compiler-explorer/lib/cache
Luan Taraschi 575a57bef1 Store S3 cache objects as STANDARD rather than reduced redundancy (#9040)
Drops the `redundancy` option from the three `S3Cache` put paths.
`S3Bucket.put` already falls back to `STANDARD` when nothing is passed
(`lib/s3-handler.ts:77`), so the deletion is the whole fix.

One thing beyond what the issue lists: `lib/stats.ts` asks for the same
class when it flushes compilation records, and that is the only other
caller in the tree. Those records are not reconstructible the way a
cache entry is, so the lower durability costs something there and buys
nothing. I moved it across in the same commit rather than leaving a
single RRS write behind, but say the word and I will pull it back out
into its own PR.

For the regression guard I added a case per file, both asserting the
`StorageClass` that reaches the mocked `PutObjectCommand`:
`test/cache-tests.ts` covers `put`, `putWithTTL` and
`putWithTTLAndPath`, and `test/stats-test.ts` covers the flush.
Reverting either source file turns the matching test red with
`REDUCED_REDUNDANCY` instead of `STANDARD`.

Verified in a `node:22-bookworm` container, which is where my
node_modules live: full suite 2630 passed, 1 skipped across 122 files,
plus `npm run ts-check` and `biome check` clean. Committed through the
normal pre-commit hook.
2026-08-22 13:03:32 -05:00
..