From 31e2b7e7c82870294b0a2c96a5740eb07969ec60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 17 Sep 2020 07:36:18 +0200 Subject: [PATCH] SharedQuery: Error when switching to -- Dashboard -- data source caused "no data" no matter what source panel was selected (#27627) * SharedQuery: Error when switching to -- Dashboard -- data source made observable subscription error and subsequent data results not update visualization * added null check just in case --- public/app/features/dashboard/state/PanelQueryRunner.ts | 4 +++- public/app/plugins/datasource/dashboard/runSharedRequest.ts | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/public/app/features/dashboard/state/PanelQueryRunner.ts b/public/app/features/dashboard/state/PanelQueryRunner.ts index 30d3d935986..4901d14666b 100644 --- a/public/app/features/dashboard/state/PanelQueryRunner.ts +++ b/public/app/features/dashboard/state/PanelQueryRunner.ts @@ -93,11 +93,13 @@ export class PanelQueryRunner { if (withFieldConfig) { // Apply field defaults & overrides const fieldConfig = this.dataConfigSource.getFieldOverrideOptions(); + const timeZone = data.request?.timezone ?? 'browser'; + if (fieldConfig) { processedData = { ...processedData, series: applyFieldOverrides({ - timeZone: data.request!.timezone, + timeZone: timeZone, autoMinMax: true, data: processedData.series, ...fieldConfig, diff --git a/public/app/plugins/datasource/dashboard/runSharedRequest.ts b/public/app/plugins/datasource/dashboard/runSharedRequest.ts index df0db078bcc..09f1e01dfc4 100644 --- a/public/app/plugins/datasource/dashboard/runSharedRequest.ts +++ b/public/app/plugins/datasource/dashboard/runSharedRequest.ts @@ -2,7 +2,7 @@ import { Observable } from 'rxjs'; import { QueryRunnerOptions } from 'app/features/dashboard/state/PanelQueryRunner'; import { DashboardQuery, SHARED_DASHBODARD_QUERY } from './types'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; -import { LoadingState, DefaultTimeRange, DataQuery, PanelData, DataSourceApi } from '@grafana/data'; +import { LoadingState, DefaultTimeRange, DataQuery, PanelData, DataSourceApi, DataQueryRequest } from '@grafana/data'; export function isSharedDashboardQuery(datasource: string | DataSourceApi | null) { if (!datasource) { @@ -70,6 +70,7 @@ function getQueryError(msg: string): PanelData { return { state: LoadingState.Error, series: [], + request: {} as DataQueryRequest, error: { message: msg }, timeRange: DefaultTimeRange, };