fix: driver test suite & sqlite reliability#4559
fix: driver test suite & sqlite reliability#4559NathanFlurry wants to merge 6 commits into04-06-fix_remove_serverless_tokenfrom
Conversation
|
🚅 Deployed to the rivet-pr-4559 environment in rivet-frontend
|
|
Warning This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
This stack of pull requests is managed by Graphite. Learn more about stacking. |
PR Review: fix: driver test suite & sqlite reliabilityOverall Assessment: Solid multi-fix PR addressing real bugs across the envoy client, KV channel, native SQLite adapter, WebSocket handling, and AgentOS process callbacks. The fixes are well-targeted and the test infrastructure improvements are valuable. A few issues warrant attention before landing. High Priority Issues Bug: The async close(): Promise<void> {
try {
await this.#module.closeDatabase(this.#nativeDb);
} catch (error) {
if (!isStaleKvChannelError(error)) {
throw error;
}
// Stale channel on close is expected; swallow and continue teardown.
}
}Bug: CLAUDE.md says to prefer Design concern: single-writer lock removal changes the documented concurrency contract CLAUDE.md states: "The KV channel enforces single-writer locks per actor." The removal of Medium Priority Issues Duplicate named-parameter extraction with a behavioral difference
Fragile string-regex stale-channel detection The pattern Misleading fallback warning in If Minor Issues
What Is Correct and Well-Done
Summary
Generated with Claude Code |
28d5a1f to
8af4472
Compare
8af4472 to
930ee95
Compare
930ee95 to
6d9fd88
Compare
6d9fd88 to
2f73a59
Compare
2f73a59 to
5b25ad0
Compare
5b25ad0 to
b8143ad
Compare
b8143ad to
33436b9
Compare
33436b9 to
6e18bf9
Compare
6e18bf9 to
7597a94
Compare
7597a94 to
c6d8ae5
Compare
9f06a14 to
e815bd1
Compare
5373668 to
ea0f72e
Compare
ea0f72e to
8b3a33e
Compare
efd5dbf to
0a3b64c
Compare
Reverts all file-system driver workarounds, test timing hacks, client retry/polling logic, sleep timeout overrides, DB proxy shutdown budgets, and connection-manager counters that were only needed for FS driver tests. Keeps engine-relevant fixes: action fire-and-forget in WS endpoints, conn single-flight disconnect, DB unification, KV channel multiplexing, envoy bugfixes.
Normal (envoy-based) runner configs never had protocol_version set by the metadata poller since that only runs for serverless configs. This caused all actors on normal configs to be created with the v1 workflow, which uses the old runner architecture and never becomes connectable through envoys. The fix treats normal runner configs as v2 since they inherently use the envoy protocol.
Normal (envoy-based) runner configs never had protocol_version set by the metadata poller since that only runs for serverless configs. This caused all actors on normal configs to be created with the v1 workflow, which uses the old runner architecture and never becomes connectable through envoys. The fix treats normal runner configs as v2 since they inherently use the envoy protocol.
The cache module changes (global OnceLock for InMemoryDriver and in_flight map) are not required for engine driver tests. Reverted to main. Added guidance to engine/CLAUDE.md about using concurrent containers instead of Mutex<HashMap<...>>.
8b3a33e to
a112a4f
Compare

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context.
Type of change
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist: