influx_query_manager catches urllib3.exceptions.HTTPError, which covers
connection failures but not error responses — influxdb_client.rest.ApiException
subclasses InfluxDBError. So a 400/401/429/5xx from Influx propagates and 500s
the caller instead of degrading to an empty result. write() on the same class
already catches both.
- except HTTPError as e:
+ except (HTTPError, InfluxDBError) as e:
capture_exception(e)
return []
Found via the sales dashboard, where get_events_for_organisation 500s the
organisation page if Influx responds with an error. CI never hits it because
there is no Influx service, so every query fails at the socket and is swallowed.
influx_query_managercatchesurllib3.exceptions.HTTPError, which coversconnection failures but not error responses —
influxdb_client.rest.ApiExceptionsubclasses
InfluxDBError. So a 400/401/429/5xx from Influx propagates and 500sthe caller instead of degrading to an empty result.
write()on the same classalready catches both.
Found via the sales dashboard, where
get_events_for_organisation500s theorganisation page if Influx responds with an error. CI never hits it because
there is no Influx service, so every query fails at the socket and is swallowed.