getredash/redash · error · Exception
Failed getting schema.
Error message
Failed getting schema.
What it means
Ignite runner's _get_tables runs a metadata SQL query against SYS tables; if run_query returns a non-None error (connection failure, SQL error, auth failure) it raises the generic 'Failed getting schema.' hiding the underlying cause.
Source
Thrown at redash/query_runner/ignite.py:81
@classmethod
def type(cls):
return "ignite"
@classmethod
def enabled(cls):
return ignite_available or gridgain_available
def _get_tables(self, schema):
query = """
SELECT schema_name, table_name, column_name, type
FROM SYS.TABLE_COLUMNS
WHERE schema_name NOT IN ('SYS') and column_name not in ('_KEY','_VAL');
"""
results, error = self.run_query(query, None)
if error is not None:
raise Exception("Failed getting schema.")
for row in results["rows"]:
if row["SCHEMA_NAME"] != self.configuration.get("schema", "PUBLIC"):
table_name = "{}.{}".format(row["SCHEMA_NAME"], row["TABLE_NAME"])
else:
table_name = row["TABLE_NAME"]
if table_name not in schema:
schema[table_name] = {"name": table_name, "columns": []}
col_type = TYPE_STRING
if row["TYPE"] in types_map:
col_type = types_map[row["TYPE"]]
schema[table_name]["columns"].append({"name": row["COLUMN_NAME"], "type": col_type})
return list(schema.values())
View on GitHub (pinned to ca79fe988d)
Solutions
- First make a plain query work in the same data source (run a SELECT 1-style query) to isolate connection/auth issues
- Check server address/port, username, password, and schema fields in the data source config
- Grant the user access to the IGNITE/Catalog metadata or upgrade Ignite/Redash for version-compatible metadata queries
- Look at Redash worker logs — the real error from run_query is logged before this exception is raised
Defensive patterns
Strategy: try-catch
Try / catch
try:
schema = runner.get_schema(scope)
except Exception as e:
if "Failed getting schema" in str(e):
check_worker_logs_and_run_simple_query_to_isolate_cause() Prevention
- Validate Ignite connectivity with a trivial query before schema load
- Ensure the DB user can read SYS/catalog metadata
- Keep Ignite and Redash versions compatible
When it happens
Trigger: Schema discovery when the Apache Ignite cluster is unreachable, credentials are wrong, or the configured schema/user lacks access to the system views (IGNITE system schema queries denied).
Common situations: Wrong JDBC-style host/port, user without access to SYS metadata, Ignite version whose catalog tables differ, SSL-required cluster accessed plain.
Related errors
- Error during query execution. Reason: {error}
- Failed to get schema: {str(e)}
- Failed to get tables: {error}
- Connection refused
- Failed getting accounts.
AI-assisted analysis of getredash/redash@ca79fe988d (2026-08-28).
Data as JSON: /api/errors/24767c161c1b377c.
Report an issue: GitHub.