test(host-selfhost): raise scope-isolation timeout to 120s#1252
Open
RhysSullivan wants to merge 1 commit into
Open
test(host-selfhost): raise scope-isolation timeout to 120s#1252RhysSullivan wants to merge 1 commit into
RhysSullivan wants to merge 1 commit into
Conversation
The concurrent-identities test has been timing out at the default 30s on recent CI runs (and locally under load, ~1 in 3). The time goes into seeding: 6 sequential addSpec calls, each 0.5-15s when the vitest fork pool oversubscribes the CPU (every host-selfhost test file boots a full app and serializes queries through one libSQL connection - the same mechanism #1208 addressed). Locally the test body was observed at 58s wall clock while still passing every assertion. The test asserts isolation, not latency, so a generous explicit timeout is the honest bound: a real binding leak still fails on correctness immediately.
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-marketing | 78f60c7 | Commit Preview URL Branch Preview URL |
Jul 02 2026, 02:14 AM |
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
executor-cloud | 78f60c7 | Jul 02 2026, 02:14 AM |
Contributor
Cloudflare preview
Sign-in is Cloudflare Access (one-time PIN to an allowed email). The preview has its own database and encryption key; it is destroyed when this PR closes. |
@executor-js/cli
@executor-js/config
@executor-js/execution
@executor-js/sdk
@executor-js/plugin-file-secrets
@executor-js/plugin-graphql
@executor-js/plugin-keychain
@executor-js/plugin-mcp
@executor-js/plugin-onepassword
@executor-js/plugin-openapi
@executor-js/codemode-core
@executor-js/runtime-quickjs
executor
commit: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
scope-isolation.test.ts > concurrent requests with distinct identities get disjoint, correct executor bindingshas been timing out at the default 30s on recent CI runs — it failed the Test job on #1247's and #1248's runs (both unrelated changes) and reproduces on pristine main locally about 1 in 3 runs under CPU load.Where the time goes
Instrumented locally: the timeout is hit during seeding, before the concurrency under test even starts. Seeding is 6 sequential
addSpeccalls, and a singleaddSpecranges from ~0.5s to ~15s when the vitest fork pool oversubscribes the CPU — every host-selfhost test file boots a full app at import and all queries serialize through one libSQL connection. This is the same mechanism #1208 identified; that PR bounded the test's own concurrency (48-wide burst → 6) but left the default 30s ceiling, which the seeding phase alone can blow through. A passing run under load was observed at 58s wall clock.Fix
An explicit 120s timeout with a comment explaining why. The test asserts isolation, not latency — a real request-scoped-binding leak fails on correctness assertions immediately regardless of the clock, so a generous bound loses nothing.
Verified: 5 consecutive local runs pass (22–60s range under load), full host-selfhost suite green (72/72).