Skip to content

Commit

Permalink
fix statement_timeout bug
Browse files Browse the repository at this point in the history
  • Loading branch information
prostgles committed Oct 15, 2023
1 parent 8b327b0 commit ef8a4c0
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 7 deletions.
21 changes: 19 additions & 2 deletions lib/PubSubManager/initPubSubManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ export async function initPubSubManager(this: PubSubManager): Promise<PubSubMana
checkForStaleTriggers = `
DO $$
BEGIN
set statement_timeout to ${Math.min(5e3, Math.round(this.appCheckFrequencyMS/2))};
/*
${REALTIME_TRIGGER_CHECK_QUERY}
${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
Expand All @@ -88,8 +87,26 @@ export async function initPubSubManager(this: PubSubManager): Promise<PubSubMana
${dataTriggerCheckQuery}
END IF;
END $$;`

const queryTimeoutMillis = Math.min(5e3, Math.round(this.appCheckFrequencyMS/2));
this.db.any(`
DO $$
BEGIN
/*
${REALTIME_TRIGGER_CHECK_QUERY}
${PubSubManager.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
*/
DO $$
BEGIN
PERFORM pg_sleep(\${queryTimeoutMillis}/1e3);
SELECT pg_cancel_backend(pid)
FROM pg_catalog.pg_stat_activity
WHERE pid <> pg_backend_pid()
AND query = \${checkForStaleTriggers};
END $$;
END $$;
`
`, { queryTimeoutMillis, checkForStaleTriggers })
await this.db.any(checkForStaleTriggers);
tries = 5;
log("updated last_check");
Expand Down
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "prostgles-server",
"version": "4.1.88",
"version": "4.1.89",
"description": "",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion tests/client/PID.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2319940
2604230
2 changes: 1 addition & 1 deletion tests/server/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit ef8a4c0

Please sign in to comment.