Skip to main content

Troubleshooting data quality dashboard

This guide helps you troubleshoot common errors when using the data quality dashboard with your warehouse.

Missing warehouse permissions

When deploying a loader with the data quality add-on (API), you may encounter permission errors that prevent the dashboard from querying your warehouse.

BigQuery: missing bigquery.jobs.create permission

Error code range

  • 21xxx

Error description

Missing permission 'bigquery.jobs.create' on Bigquery...

Root cause

  • The service account lacks the required permission to create BigQuery jobs
  • This permission can be granted via the roles/bigquery.jobUser role

How to diagnose

Check if your service account has the required role:

gcloud projects get-iam-policy <PROJECT_ID> \
--flatten="bindings[].members" \
--filter="bindings.members:<SERVICE_ACCOUNT_EMAIL>" \
--format="table(bindings.role)"

Fix

Grant the required role to your service account (recommended):

gcloud projects add-iam-policy-binding <PROJECT_ID> \
--member="serviceAccount:<SERVICE_ACCOUNT_EMAIL>" \
--role="roles/bigquery.jobUser"

Alternatively, if you need more granular control, create a custom role with only the bigquery.jobs.create permission:

gcloud iam roles create customBigQueryJobCreator \
--project=<PROJECT_ID> \
--title="BigQuery Job Creator" \
--description="Create BigQuery jobs for Data Quality Dashboard" \
--permissions="bigquery.jobs.create"

gcloud projects add-iam-policy-binding <PROJECT_ID> \
--member="serviceAccount:<SERVICE_ACCOUNT_EMAIL>" \
--role="projects/<PROJECT_ID>/roles/customBigQueryJobCreator"

Snowflake: missing USAGE privilege

Error code range

  • 11xxx

Error description

Missing required privileges on Snowflake: No active warehouse selected in the current session...

Root cause

  • The role lacks USAGE privilege on the active warehouse
  • Without this privilege, queries cannot be executed

How to diagnose

Verify current warehouse privileges for your role:

SHOW GRANTS ON WAREHOUSE <WAREHOUSE_NAME>;
SHOW GRANTS TO ROLE <ROLE_NAME>;

Fix

Grant the USAGE privilege on the warehouse:

GRANT USAGE ON WAREHOUSE <WAREHOUSE_NAME> TO ROLE <ROLE_NAME>;

Ensure the grant is properly applied:

-- Verify the grant
SHOW GRANTS ON WAREHOUSE <WAREHOUSE_NAME>;

Query timeouts

Long-running queries or resource pool exhaustion can cause the data quality dashboard to time out when fetching failed events.

BigQuery and Snowflake query timeouts

Error code range

  • 12xxx
  • 22xxx

Error description

Query exceeded timeout or Query execution time limit exceeded

Root cause

  • Large volume of failed events requiring extensive scanning
  • Warehouse resource pool exhaustion
  • Concurrent query limits reached

How to diagnose

BigQuery:

-- Check recent query performance
SELECT
job_id,
user_email,
total_slot_ms,
total_bytes_processed,
TIMESTAMP_DIFF(end_time, start_time, SECOND) as duration_seconds
FROM `<PROJECT_ID>.region-us.INFORMATION_SCHEMA.JOBS_BY_PROJECT`
WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
AND state = 'DONE'
AND statement_type = 'SELECT'
ORDER BY total_slot_ms DESC
LIMIT 10;

Snowflake:

-- Check query history
SELECT
query_id,
query_text,
warehouse_name,
execution_time,
queued_overload_time,
bytes_scanned
FROM table(information_schema.query_history())
WHERE start_time >= DATEADD('day', -1, CURRENT_TIMESTAMP())
AND execution_status = 'SUCCESS'
ORDER BY execution_time DESC
LIMIT 10;

Fix

Reduce query scope:

  • If using API use smaller time windows (e.g., "Last hour" or "Last day" instead of "Last 30 days")
  • If using Console you can change to legacy failed events based on telemetry data
  • Query specific error types or schemas when investigating issues

Optimize warehouse performance:

  • Review your warehouse configuration and query patterns
  • Consider implementing partitioning, clustering, or other optimization strategies
  • Monitor resource usage, and adjust warehouse size as needed

For detailed optimization guidance, refer to your warehouse documentation:

Additional considerations

API behavior

  • Missing permissions: Returns HTTP 400 with remediation instructions displayed in the UI

Prevention tips

  1. Regular maintenance:

    • Monitor table sizes and query performance
    • Review and optimize clustering/partitioning strategies
  2. Proactive monitoring:

    • Monitor query execution times
    • Track failed events volume trends
  3. Access control:

    • Document required permissions for all team members
    • Use least-privilege principles
    • Regularly audit access permissions