Query Debugging
Endpoint errors⚓︎
Issue: Client connection timeout⚓︎
Check⚓︎
Check Traefik service count is \< 1.
Fix⚓︎
Scale Traefik via hydrolixcluster.yaml.
For more information, see Scale Profiles.
Check⚓︎
Check that the IP allowlist contains the requesting IP address.
Download the cluster configuration:
Fix⚓︎
-
Add the IP to the allowlist:
-
Add the IPs.
-
Apply the changes to your cluster:
Find more information on IP allowlists, see Configure IP Access.
Issue: Client authorization error⚓︎
Check⚓︎
Check if Query endpoint authentication is enabled.
Download your cluster configuration:
In the configuration, look for enable_query_auth:
Fix⚓︎
If enabled, ensure the user is using the correct username and password or bearer token. For more information, see Enable Query Authentication.
If query authentication isn't enabled, enable it.
Check⚓︎
Check if TLS is enabled.
Download your cluster configuration:
In the configuration, look for use_tls:
Fix⚓︎
If TLS is enabled, check the client is connecting using a secure TLS connection.
If TLS isn't enabled, enable it.
If using native protocol connection, secure uses port 9440 and non-secure uses port 9000.
Issue: HTTP 503 Service Temporarily Unavailable⚓︎
For more information, see Scale Profiles.
Check⚓︎
Check query-head count is at a minimum of 1.
Fix⚓︎
Scale query-head via hydrolixcluster.yaml:
Check⚓︎
Check query-peer count is at a minimum of 1.
Fix⚓︎
Scale query-peer via hydrolixcluster.yaml:
Pools⚓︎
For pools, check that the pool has query-peers.
Issue: Database exceptions⚓︎
For more information, see Scale Profiles.
DB::Exception: HdxStorageError: No peers available to run query in poolDB::Exception: Database '_local' doesn't existDB::NetException: Net Exception: No route to host
Check⚓︎
Check query-peer instance count is a minimum of 1.
Fix⚓︎
Scale query-peer using hydrolixcluster.yaml.
Check⚓︎
Check that the ZooKeeper instance count is 3.
Fix⚓︎
Scale ZooKeeper with hydrolixcluster.yaml.
Issue: Database timeout⚓︎
DB::NetException: Timeout: connect timed out
Check⚓︎
Check ZooKeeper instance count is 3:
Fix⚓︎
Scale ZooKeeper with hydrolixcluster.yaml.
Issue: Database lost connection⚓︎
DB::NetException: Error: Lost connection to the database server. (version 3.x.x)>. (STD_EXCEPTION)
Check⚓︎
This error is uncommon and should only happen when a query head isn’t used for days or weeks.
Fix⚓︎
Retry the query.
If this doesn’t resolve the error, check that the PostgreSQL instance is suitably scaled. Increase CPU or memory if required.
-
Download the cluster configuration.
-
Update the scale.
-
Apply the configuration to your cluster.
Check⚓︎
Check that PostgreSQL is running and in a healthy state.
Fix⚓︎
Update the scale of PostgreSQL
-
Download the cluster configuration.
-
Update the scale.
-
Apply the configuration to your cluster.
If PostgreSQL is failing, even if resolved, this is a Severity 1 incident. Notify Hydrolix as soon as possible.
Syntax and user query errors⚓︎
Check⚓︎
The table or project is unknown.
Fix⚓︎
Specify the project and table.
Check⚓︎
If the table and/or project has a hyphen in the name. For example, my-table.my-project
Fix⚓︎
Add backticks (`) around the table and project names.
Other errors⚓︎
When a query error occurs with syntax or execution errors, the system can be overly verbose. Errors can be large and contain a lot of information. A good place to start when debugging is the first couple of lines, as they often contain the reason for the error. This example shows an unknown table and database has been requested:
Query circuit breaker errors⚓︎
Hydrolix can apply circuit breakers to a query that help protect the infrastructure from abuse. Learn more about circuit breakers.