Commit bfcedc6
committed
Remove the D1-to-R2 oversized-value offload
The transparent D1 driver wrap (intercept bound params >800KB, stash in
R2 under a content hash, rehydrate pointer strings on read) existed only
because resolved OpenAPI specs were inlined in integration.config and
D1 caps a value at ~1-2MB. Specs now live in the blob seam, written
straight to R2 through the handle's blobs backend, so nothing that flows
through D1 approaches the cap: across the whole fleet the largest
non-spec values are tool rows ~165KB, definitions ~256KB, and
plugin_storage ~206KB.
The canonical deployment's database was scanned for offload pointer
strings before removal — zero exist in any table, so this is code-only.
A deployment that still had legacy oversized rows stored as pointers
would need the spec backfill before taking this change.
The workerd e2e still pushes a ~1MB spec through the real worker; it now
proves the spec lands in the R2 blob seam rather than the offload.
maxBoundParameters stays — that is D1's parameter-count platform limit,
unrelated to value size.1 parent cbc815f commit bfcedc6
5 files changed
Lines changed: 15 additions & 382 deletions
File tree
- apps/host-cloudflare
- src
- db
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
10 | 8 | | |
11 | 9 | | |
12 | 10 | | |
| |||
38 | 36 | | |
39 | 37 | | |
40 | 38 | | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | 39 | | |
46 | | - | |
| 40 | + | |
47 | 41 | | |
48 | 42 | | |
49 | 43 | | |
| |||
70 | 64 | | |
71 | 65 | | |
72 | 66 | | |
73 | | - | |
74 | | - | |
75 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
76 | 71 | | |
77 | 72 | | |
78 | 73 | | |
This file was deleted.
This file was deleted.
0 commit comments