diff --git a/packages/grafana-runtime/src/utils/toDataQueryError.ts b/packages/grafana-runtime/src/utils/toDataQueryError.ts index 457709d514d0..28946be81090 100644 --- a/packages/grafana-runtime/src/utils/toDataQueryError.ts +++ b/packages/grafana-runtime/src/utils/toDataQueryError.ts @@ -6,7 +6,7 @@ import { DataQueryError } from '@grafana/data'; * * @public */ -export function toDataQueryError(err: DataQueryError | string | Object): DataQueryError { +export function toDataQueryError(err: DataQueryError | string | unknown): DataQueryError { const error = (err || {}) as DataQueryError; if (!error.message) { diff --git a/public/app/features/query/state/PanelQueryRunner.ts b/public/app/features/query/state/PanelQueryRunner.ts index 3f3a2c480b87..6bd24a19e5ff 100644 --- a/public/app/features/query/state/PanelQueryRunner.ts +++ b/public/app/features/query/state/PanelQueryRunner.ts @@ -25,7 +25,7 @@ import { toDataFrame, transformDataFrame, } from '@grafana/data'; -import { getTemplateSrv } from '@grafana/runtime'; +import { getTemplateSrv, toDataQueryError } from '@grafana/runtime'; import { ExpressionDatasourceRef } from '@grafana/runtime/src/utils/DataSourceWithBackend'; import { StreamingDataFrame } from 'app/features/live/data/StreamingDataFrame'; import { isStreamingDataFrame } from 'app/features/live/data/utils'; @@ -274,7 +274,15 @@ export class PanelQueryRunner { this.pipeToSubject(runRequest(ds, request), panelId); } catch (err) { - console.error('PanelQueryRunner Error', err); + this.pipeToSubject( + of({ + state: LoadingState.Error, + error: toDataQueryError(err), + series: [], + timeRange: request.range, + }), + panelId + ); } }