Commit f5a2ea6
committed
perf(run-store): route id-set reads to the owning store, not both DBs
Run residency is a total function of the id (run-ops ids resolve to the new
store, every other id to legacy), and writes and single-run reads already
route by it. The id-set read path was the outlier: it queried the new store
for the entire id set, then probed legacy for the misses. While a split is
active with most runs still on legacy, that meant a wasted new-store query on
every list hydrate and engine sweep.
Partition the id set by residency and query each store only for its own ids,
in parallel (matching expireRunsBatch). Same result set. The old cross-store
fallback existed to prefer a new-store copy of a same-id-in-both collision;
that cannot arise when each id maps to exactly one store, so it is removed.
The open-predicate path is unchanged (an open where cannot route by id, so it
still unions both stores and dedupes).1 parent 7a14188 commit f5a2ea6
4 files changed
Lines changed: 132 additions & 28 deletions
File tree
- internal-packages/run-store/src
Lines changed: 121 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
Lines changed: 3 additions & 6 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
262 | 262 | | |
263 | 263 | | |
264 | 264 | | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | 265 | | |
269 | | - | |
| 266 | + | |
270 | 267 | | |
271 | 268 | | |
272 | 269 | | |
| |||
304 | 301 | | |
305 | 302 | | |
306 | 303 | | |
307 | | - | |
308 | | - | |
| 304 | + | |
| 305 | + | |
309 | 306 | | |
310 | 307 | | |
311 | 308 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1004 | 1004 | | |
1005 | 1005 | | |
1006 | 1006 | | |
1007 | | - | |
1008 | | - | |
1009 | 1007 | | |
1010 | | - | |
| 1008 | + | |
1011 | 1009 | | |
1012 | 1010 | | |
1013 | 1011 | | |
| |||
1031 | 1029 | | |
1032 | 1030 | | |
1033 | 1031 | | |
1034 | | - | |
| 1032 | + | |
1035 | 1033 | | |
1036 | 1034 | | |
1037 | 1035 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
324 | 324 | | |
325 | 325 | | |
326 | 326 | | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | 327 | | |
331 | 328 | | |
332 | 329 | | |
333 | 330 | | |
334 | 331 | | |
335 | 332 | | |
336 | | - | |
337 | | - | |
338 | | - | |
339 | 333 | | |
| 334 | + | |
| 335 | + | |
340 | 336 | | |
341 | 337 | | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
354 | 342 | | |
355 | 343 | | |
356 | 344 | | |
| |||
0 commit comments