-
Notifications
You must be signed in to change notification settings - Fork 110
Open
Description
Describe the issue
When using dynalite for testing I open a new dynalite for each test case and create new in memory tables.
async function startserver() {
const server = createServer({ createTableMs: 0, deleteTableMs: 0, updateTableMs: 0 })
const port = await getPortPromise() // `port-finder` is magic btw
await new Promise((resolve) => server.listen(port, resolve))
return server
}And then close it after each test case
async function stopServer(server) {
await new Promise((resolve, reject) => server.close(err => err ? reject(err) : resolve()))
}
However the close takes forever! So I often skip it and pray. But why does it take forever? I believe the AWS-SDK keeps the connection open. Since it's an http server you can actually close all connections which reduces the time to close to mere milliseconds.
async function stopServer(server) {
const closePromise = new Promise((resolve, reject) => server.close(err => err ? reject(err) : resolve()))
server.closeAllConnections()
await closePromise
}This isn't so much a bug as something people will run into so I wanted to document it.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels