Skip to content

Commit

Permalink
fix(test) reduce queue persistence test time from 60 secs to 6 secs (#…
Browse files Browse the repository at this point in the history
…21142)

This PR reduces the time to run `queue persistence with inflight
messages` test from 60 seconds down to about 6 seconds.

The test simulates a crash to ensure that inflight messages are cleaned
up and re-queued when the new process starts. Since messages are
considered dead after 5 seconds of being queued, reopening the db within
5 seconds does not re-queue the messages on startup (they do get
re-queued after 60 seconds, which is the cleanup frequency). By waiting
for 5 seconds before reopening the db, the test ensures that the cleanup
happens quickly when the db is opened.
  • Loading branch information
Igor Zinkovsky authored Nov 10, 2023
1 parent 612b7df commit f430543
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions cli/tests/unit/kv_test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1741,6 +1741,12 @@ Deno.test({
db.close();
await listener;

// Wait at least MESSAGE_DEADLINE_TIMEOUT before reopening the database.
// This ensures that inflight messages are requeued immediately after
// the database is reopened.
// https://github.com/denoland/denokv/blob/efb98a1357d37291a225ed5cf1fc4ecc7c737fab/sqlite/backend.rs#L120
await sleep(6000);

// Now reopen the database.
db = await Deno.openKv(filename);

Expand Down

0 comments on commit f430543

Please sign in to comment.