From 9ddcb16298c8357bb6e03ded7b53e9485e57f2e4 Mon Sep 17 00:00:00 2001 From: "Grot (@grafanabot)" <43478413+grafanabot@users.noreply.github.com> Date: Fri, 28 Jan 2022 16:37:55 +0100 Subject: [PATCH] fix: multiple queries in alerting regression (#44585) (#44599) (cherry picked from commit 26ddeaf3d7d7d39bad42e9866ec6f6f6f131fd6d) Co-authored-by: Gilles De Mey --- .../components/rule-editor/QueryRows.tsx | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/public/app/features/alerting/unified/components/rule-editor/QueryRows.tsx b/public/app/features/alerting/unified/components/rule-editor/QueryRows.tsx index 9db88e23170..d6d7a653dc4 100644 --- a/public/app/features/alerting/unified/components/rule-editor/QueryRows.tsx +++ b/public/app/features/alerting/unified/components/rule-editor/QueryRows.tsx @@ -17,6 +17,7 @@ import { queriesWithUpdatedReferences } from './util'; import { Button, Card, Icon } from '@grafana/ui'; import { QueryOperationRow } from 'app/core/components/QueryOperationRow/QueryOperationRow'; import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; +import { omit } from 'lodash'; interface Props { // The query configuration @@ -108,19 +109,7 @@ export class QueryRows extends PureComponent { return item; } - const previous = getDataSourceSrv().getInstanceSettings(item.datasourceUid); - - if (previous?.type === settings.uid) { - return { - ...item, - datasourceUid: settings.uid, - }; - } - - return { - ...item, - datasourceUid: settings.uid, - }; + return copyModel(item, settings.uid); }); onQueriesChange(updatedQueries); }; @@ -291,6 +280,14 @@ export class QueryRows extends PureComponent { } } +function copyModel(item: AlertQuery, uid: string): Omit { + return { + ...item, + model: omit(item.model, 'datasource'), + datasourceUid: uid, + }; +} + interface DatasourceNotFoundProps { index: number; model: AlertDataQuery;