Skip to content

test(rivetkit): remove wasm sqlite-only fixtures and coverage#4642

Merged
NathanFlurry merged 1 commit intomainfrom
test/remove-wasm-sqlite-fixtures
Apr 24, 2026
Merged

test(rivetkit): remove wasm sqlite-only fixtures and coverage#4642
NathanFlurry merged 1 commit intomainfrom
test/remove-wasm-sqlite-fixtures

Conversation

@NathanFlurry
Copy link
Copy Markdown
Member

Description

Please include a summary of the changes and the related issue. Please also include relevant motivation and context.

Type of change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Please describe the tests that you ran to verify your changes.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

Copy link
Copy Markdown
Member Author

NathanFlurry commented Apr 13, 2026

This stack of pull requests is managed by Graphite. Learn more about stacking.

@claude
Copy link
Copy Markdown

claude Bot commented Apr 13, 2026

PR Review: test(rivetkit): remove wasm sqlite-only fixtures and coverage

This PR cleanly removes WASM SQLite test fixtures, test suites, and related infrastructure as part of the broader move to native-only SQLite via @rivetkit/rivetkit-native. The deletions are net -1,192 lines and the changes are well-scoped. A few things worth considering:


Removed resilience tests may still apply to native SQLite

In actor-db-stress.ts, the "KV Channel Resilience" block was guarded by skipIf(!nativeAvailable), meaning these two tests only ran with the native backend:

  • recovers from forced WebSocket disconnect during DB writes
  • handles disconnect during active write operation

Removing them entirely means there is no test coverage for native SQLite resilience during WebSocket disconnection. If the KV channel itself is being removed (not just WASM), this is fine — but if the native backend still uses a WebSocket channel internally, these tests should be preserved or replaced rather than dropped.


Data migration / compatibility story

cross-backend-vfs.ts was the only place that verified WASM-written data is readable by the native backend and vice versa. Removing it without a note in ACTOR_KV_STRUCTURE.md or a migration guide means any production deployment that was using WASM SQLite has no documented upgrade path. If migration is handled elsewhere in the stack, a pointer here would help.


ACTOR_KV_STRUCTURE.md: missing note on legacy key space

The sqlite (8)/ KV namespace section was removed entirely. If old actor data was ever written under that key space (by WASM actors), it still sits on disk in existing deployments. A one-line note about what happens to that data on upgrade (e.g., "data written by the WASM VFS under sqlite (8)/ is not read or cleaned up by the native runtime") would help operators reason about upgrades.


Limits doc removal looks correct

preloadMaxSqliteBytes (768 KiB) was removed from limits.mdx. As long as that config key is also gone from engine/packages/config/ in a companion PR, this is correct. Worth a quick grep to confirm no reference remains.


Minor

  • sleep-db.ts removing the sleepWsRawDbAfterClose actor is correct — the "poisoned KV produces disk I/O error" test only made sense with the KV-backed VFS.
  • CLAUDE.md updates follow the one-liner convention correctly.
  • utils.ts reformatting to multi-line is a no-op, no concerns.

Overall: The cleanup is well-executed for what it is. The main open question is whether the native SQLite WebSocket resilience tests should be replaced rather than dropped. Everything else looks intentional and correctly scoped to the WASM removal.

@NathanFlurry NathanFlurry force-pushed the chore/remove-sqlite-vfs-packages branch from f66e9f8 to f937ba3 Compare April 24, 2026 07:33
@NathanFlurry NathanFlurry force-pushed the test/remove-wasm-sqlite-fixtures branch from 2b872b3 to 18a97e7 Compare April 24, 2026 07:33
Base automatically changed from chore/remove-sqlite-vfs-packages to main April 24, 2026 07:38
@NathanFlurry NathanFlurry merged commit 18a97e7 into main Apr 24, 2026
10 of 17 checks passed
@NathanFlurry NathanFlurry deleted the test/remove-wasm-sqlite-fixtures branch April 24, 2026 07:39
This was referenced Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant