S3Cache hardcodes REDUCED_REDUNDANCY, which now costs more than STANDARD
Written by Claude (an LLM), at Matt's request, following an S3 cost audit in compiler-explorer/infra#2290.
S3Cache hardcodes the Reduced Redundancy storage class on every write, in all three put paths:
lib/cache/s3.ts:77 putInternal redundancy: StorageClass.REDUCED_REDUNDANCY,
lib/cache/s3.ts:90 putWithTTL redundancy: StorageClass.REDUCED_REDUNDANCY,
lib/cache/s3.ts:110 putWithTTLAndPath redundancy: StorageClass.REDUCED_REDUNDANCY,RRS is now more expensive than Standard. From the AWS price list for us-east-1 (version 20260807185915, published 2026-08-07):
| class | $/GB-month, first tier |
|---|---|
| Reduced Redundancy | 0.02400 |
| Standard | 0.02300 |
So we are paying a 4.3% premium for a legacy class with lower durability, on data that is by definition reconstructible. This has been the case since the code was written in 2018 (36b7208); Standard's price fell below RRS before that and RRS never followed.
Fix
Delete the three lines. s3-handler.ts:77 already defaults correctly:
StorageClass: options.redundancy || 'STANDARD',Only affects newly written objects. Existing ones keep their class until they expire, which is fine, they are cache entries.
How much this is worth
Almost nothing, and I would rather say so than oversell it. At the current cache sizes the premium is around $1/month, and once the retention work in compiler-explorer/infra#2290 lands it drops to a few cents. Worth doing because it is a three line deletion and RRS is not a class we should reach for again, not because it saves money.
Sources: S3 pricing, RRS detail page, storage class comparison, and the raw us-east-1 price list JSON the table above came from.
Source: compiler-explorer/compiler-explorer