Repository navigation
Commit 68fca77
committed
Bound the workflow-artifact rate limiter's per-run map
createRunCreateRateLimiter closed over a plain Map<string, number[]>
keyed by workflow run id, created once per hub process and never
pruned — every finished run's entry stayed resident for the rest of
the process's uptime. Route it through @corbits/collections'
createExpiringMap (CL-7233) with a TTL equal to RATE_WINDOW_MS, so an
idle run's entry is reclaimed instead of accumulating forever.
The TTL can't let a caller exceed the rate: every allow() call
re-sets the entry, refreshing its expiry, so an entry only lapses
after a full window with no calls for that run — by which point every
timestamp it held has already aged out of the sliding window's own
cutoff filter. A shorter TTL could evict an entry (and its
still-in-window timestamps) before the window's own filter would have
dropped them, resetting a caller's quota early; RATE_WINDOW_MS can't.1 parent ba2f88f commit 68fca77
3 files changed
Lines changed: 35 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
18 | 19 | | |
19 | 20 | | |
20 | 21 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
27 | 28 | | |
| |||
58 | 59 | | |
59 | 60 | | |
60 | 61 | | |
61 | | - | |
62 | | - | |
| 62 | + | |
| 63 | + | |
63 | 64 | | |
64 | 65 | | |
65 | 66 | | |
| |||
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
83 | 95 | | |
84 | | - | |
85 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
86 | 104 | | |
87 | 105 | | |
88 | | - | |
89 | | - | |
| 106 | + | |
| 107 | + | |
90 | 108 | | |
91 | 109 | | |
92 | 110 | | |
93 | 111 | | |
94 | 112 | | |
95 | 113 | | |
96 | 114 | | |
97 | | - | |
| 115 | + | |
98 | 116 | | |
99 | 117 | | |
100 | 118 | | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
101 | 123 | | |
102 | 124 | | |
103 | 125 | | |
| |||
0 commit comments