Commit 1ed028e
committed
refactor(cache): cap hierarchy walk at owner level + drop defensive catch
Two review-feedback fixes on #801:
1. **Cap the hierarchy walk.** Before: every mutation swept the bare
top-level prefix (`/api/0/organizations/`, `/api/0/teams/`, etc.),
which would evict cross-org caches on any single-org mutation.
Now the walk stops at 2 segments — owner level
(`organizations/{org}/`). Paths that are already ≤ 2 segments
still walk to their root (a mutation targeting the root itself
should clear its cache). Added a new test for the two-segment case.
2. **Drop the defensive try/catch in `invalidateAfterMutation`.**
`invalidateCachedResponsesMatching` is already contractually
no-throw; wrapping its `Promise.all` in another try/catch was
dead code. Matches BYK's brevity preference in the lore.
No behavior change beyond the walk cap. Tests updated accordingly.1 parent d51ba3a commit 1ed028e
3 files changed
Lines changed: 46 additions & 33 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
125 | 125 | | |
126 | 126 | | |
127 | 127 | | |
128 | | - | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
129 | 133 | | |
130 | 134 | | |
131 | 135 | | |
132 | 136 | | |
133 | 137 | | |
134 | 138 | | |
135 | | - | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
136 | 143 | | |
137 | 144 | | |
138 | 145 | | |
139 | 146 | | |
140 | 147 | | |
141 | 148 | | |
142 | 149 | | |
143 | | - | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
144 | 157 | | |
145 | 158 | | |
146 | 159 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
293 | 293 | | |
294 | 294 | | |
295 | 295 | | |
296 | | - | |
297 | | - | |
| 296 | + | |
298 | 297 | | |
299 | 298 | | |
300 | 299 | | |
301 | | - | |
302 | | - | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
303 | 303 | | |
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
307 | | - | |
308 | | - | |
309 | | - | |
310 | | - | |
311 | 307 | | |
312 | 308 | | |
313 | 309 | | |
| |||
318 | 314 | | |
319 | 315 | | |
320 | 316 | | |
321 | | - | |
322 | | - | |
323 | | - | |
324 | | - | |
325 | | - | |
326 | | - | |
327 | | - | |
328 | | - | |
329 | | - | |
330 | | - | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
331 | 320 | | |
332 | 321 | | |
333 | 322 | | |
| |||
363 | 352 | | |
364 | 353 | | |
365 | 354 | | |
366 | | - | |
367 | | - | |
368 | 355 | | |
369 | 356 | | |
370 | 357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
19 | 21 | | |
20 | 22 | | |
21 | | - | |
| 23 | + | |
22 | 24 | | |
23 | 25 | | |
24 | 26 | | |
25 | | - | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | | - | |
| 33 | + | |
| 34 | + | |
33 | 35 | | |
34 | 36 | | |
35 | 37 | | |
| 38 | + | |
| 39 | + | |
36 | 40 | | |
37 | 41 | | |
38 | 42 | | |
39 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
40 | 52 | | |
41 | 53 | | |
42 | 54 | | |
| |||
64 | 76 | | |
65 | 77 | | |
66 | 78 | | |
67 | | - | |
| 79 | + | |
68 | 80 | | |
69 | 81 | | |
70 | 82 | | |
71 | | - | |
| 83 | + | |
72 | 84 | | |
73 | 85 | | |
74 | 86 | | |
75 | 87 | | |
76 | 88 | | |
77 | 89 | | |
78 | 90 | | |
79 | | - | |
80 | 91 | | |
81 | 92 | | |
82 | | - | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
83 | 96 | | |
84 | 97 | | |
85 | 98 | | |
| |||
133 | 146 | | |
134 | 147 | | |
135 | 148 | | |
136 | | - | |
| 149 | + | |
137 | 150 | | |
138 | 151 | | |
139 | 152 | | |
0 commit comments