Skip to content

Health check should be configurable to not run against Redshift serverless datasource #8816

@GabeInDevOps

Description

@GabeInDevOps

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.

Metadata

Metadata

Assignees

Labels

enhancementLEGACY. Use the Feature issue type instead

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions