This is an automated email from the ASF dual-hosted git repository. rusackas pushed a commit to branch pr-38174 in repository https://gitbox.apache.org/repos/asf/superset.git
commit 909675c2a993cfa6ce3a58d3ded3f396556f2a79 Author: Evan Rusackas <[email protected]> AuthorDate: Sun Feb 22 21:25:33 2026 -0800 fix(db_engine_specs): validate external engine specs before loading Add validation for external DB engine specs loaded via entry points to ensure they are proper subclasses of BaseEngineSpec. This prevents errors when third-party packages (like pyodps) provide outdated or incompatible engine specs that don't inherit from BaseEngineSpec. Co-Authored-By: Claude Opus 4.5 <[email protected]> --- superset/db_engine_specs/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/superset/db_engine_specs/__init__.py b/superset/db_engine_specs/__init__.py index 40bb985f404..6c8ac54d3cd 100644 --- a/superset/db_engine_specs/__init__.py +++ b/superset/db_engine_specs/__init__.py @@ -81,6 +81,13 @@ def load_engine_specs() -> list[type[BaseEngineSpec]]: except Exception: # pylint: disable=broad-except logger.warning("Unable to load Superset DB engine spec: %s", ep.name) continue + # Validate that the engine spec is a proper subclass of BaseEngineSpec + if not is_engine_spec(engine_spec): + logger.warning( + "Skipping invalid DB engine spec %s: not a valid BaseEngineSpec subclass", + ep.name, + ) + continue engine_specs.append(engine_spec) return engine_specs
