Skip to content

Commit 5896bef

Browse files
JohnMcLearclaude
andauthored
feat(scaling-dive): add fanout-debounce lever + 60-minute timeout (#102)
- Adds fanout-debounce matrix entry. Sets settings.fanoutDebounceMs to 50ms via sed-append; requires the core_ref to include ether/etherpad#7766 (the FanoutScheduler). Fails fast with a clear error if the setting isn't picked up. - Bumps job timeout 30 -> 60 minutes. Cliff-finding sweeps at authors=100..500 take long enough that nodemem and websocket-only were getting cancelled mid-sweep at 30 min on run 25937943898. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 73fd82f commit 5896bef

1 file changed

Lines changed: 8 additions & 2 deletions

File tree

.github/workflows/scaling-dive.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ jobs:
2929
dive:
3030
name: dive · ${{ matrix.lever }}
3131
runs-on: ubuntu-latest
32-
timeout-minutes: 30
32+
timeout-minutes: 60
3333
strategy:
3434
fail-fast: false
3535
matrix:
36-
lever: [baseline, websocket-only, nodemem]
36+
lever: [baseline, websocket-only, nodemem, fanout-debounce]
3737

3838
env:
3939
PNPM_HOME: /home/runner/setup-pnpm/node_modules/.bin
@@ -119,6 +119,12 @@ jobs:
119119
# No settings change; NODE_OPTIONS is set when launching below.
120120
echo "applied via NODE_OPTIONS"
121121
;;
122+
fanout-debounce)
123+
# Lever 3: coalesce per-pad fan-out within a 50ms window
124+
# (requires ether/etherpad#7766 in the checked-out core_ref).
125+
sed -i '/"loadTest": true,/a\ "fanoutDebounceMs": 50,' settings.json
126+
grep fanoutDebounceMs settings.json || { echo "fanoutDebounceMs not present — core must include #7766"; exit 1; }
127+
;;
122128
*)
123129
echo "unknown lever: ${{ matrix.lever }}" >&2
124130
exit 1

0 commit comments

Comments
 (0)