mirror of
https://github.com/apache/superset.git
synced 2026-08-04 04:52:32 +00:00
Query-time SSH tunnel gateway failures (BaseSSHTunnelForwarderError, raised from Database.get_sqla_engine()) were falling through to the generic ERROR-level catch-alls in handle_api_exception.wraps and show_unexpected_exception, producing an opaque 500 and double-logging at ERROR for what is an expected, environment-specific failure (analogous to a database being unreachable), not a Superset bug. Both catch sites now recognize sshtunnel.BaseSSHTunnelForwarderError and return a structured 400 response with SupersetErrorType.CONNECTION_HOST_DOWN_ERROR, logging at WARNING (with exc_info preserved) instead of ERROR. Fixes SUPERSET-PYTHON-YY5 Fixes SUPERSET-PYTHON-T7B Co-Authored-By: Claude <noreply@anthropic.com>