Skip to content

Commit

Permalink
Use Promise.allSettled in postgres eventstore adapter dispose (#2184)
Browse files Browse the repository at this point in the history
* Use Promise.allSettled in postgres eventstore adapter dispose. Fix time in reconnection code

* Clear eventLoaders Set
  • Loading branch information
FreeSlave authored Dec 23, 2021
1 parent 3f27349 commit ae0d800
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,28 @@ const dispose = async (pool: AdapterPool): Promise<void> => {
if (pool.connection != null) {
const log = getLog('dispose')

const extraClient = pool.extraConnections.values()
const extraClients = Array.from(pool.extraConnections.values())
pool.extraConnections.clear()

//TODO: Promise.allSettled
for (const client of extraClient) {
try {
await client.end()
} catch (error) {
log.error(`Could not end extra client connection: ${error}`)
const endResults = await Promise.allSettled(
extraClients.map((client) => client.end())
)
for (const result of endResults) {
if (result.status === 'rejected') {
log.error(`Could not end extra client connection: ${result.reason}`)
}
}

//TODO: Promise.allSettled
const loaders = pool.eventLoaders.values()
for (const loader of loaders) {
await loader.close()
const loaders = Array.from(pool.eventLoaders.values())
pool.eventLoaders.clear()

const closeResults = await Promise.allSettled(
loaders.map((loader) => loader.close())
)
for (const result of closeResults) {
if (result.status === 'rejected') {
log.error(`Could not close event loader connection: ${result.reason}`)
}
}

const connection = pool.connection
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ const executeStatement = async (
throw new ServiceBusyError(error.message)
}
reconnectionTimes++
await new Promise((resolve) => setTimeout(resolve, SERVICE_WAIT_TIME))
await new Promise((resolve) =>
setTimeout(resolve, delayBeforeReconnection)
)
continue
} else {
throw makeConnectionError(error)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"compilerOptions": {
"target": "es2018",
"target": "es2020",
"module": "commonjs",
"moduleResolution": "node",
"allowJs": true,
Expand Down

0 comments on commit ae0d800

Please sign in to comment.