-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Description
| testConnectionTimeout?: number, |
The health check that is inherited from the postgres driver can cause significant costs when the target is a redshift serverless cluster. This query specifically:
| await this.pool.query('SELECT $1::int AS number', ['1']); |
Scenario: The cube container was in some sort of hung state, and ran the SELECT $1 query over 30,000 times against a redshift serverless cluster, causing over $1000 a day of RPU usage. If the query is run every 30 seconds, and only takes 1ms to complete, you still get charged for the minimum 60 seconds. If this is continued throughout a 24 hour period, you are charged for your clusters base capacity for the entire 24 hour period, even though it was only this query that was running.
This query seems to be used to validate the connection to the datasource. It is my opinion that the connection should be validated with tcp, and the health check should either be configurable so that it can be disabled, or not run at all if the target is Redshift serverless.