From 8ba1762618506a456f9ff695365547f0554bd497 Mon Sep 17 00:00:00 2001 From: Leon Sorokin Date: Mon, 15 May 2023 15:48:03 -0500 Subject: [PATCH] PanelQueryRunner: Ensure same transformations before reusing lastProcessedFrames (#68498) --- public/app/features/query/state/PanelQueryRunner.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/public/app/features/query/state/PanelQueryRunner.ts b/public/app/features/query/state/PanelQueryRunner.ts index 390fa537339..ea3f01d0ded 100644 --- a/public/app/features/query/state/PanelQueryRunner.ts +++ b/public/app/features/query/state/PanelQueryRunner.ts @@ -95,6 +95,7 @@ export class PanelQueryRunner { let lastFieldConfig: ApplyFieldOverrideOptions | undefined = undefined; let lastProcessedFrames: DataFrame[] = []; let lastRawFrames: DataFrame[] = []; + let lastTransformations: DataTransformerConfig[] | undefined; let isFirstPacket = true; let lastConfigRev = -1; @@ -110,12 +111,18 @@ export class PanelQueryRunner { return this.subject.pipe( mergeMap((data: PanelData) => { let fieldConfig = this.dataConfigSource.getFieldOverrideOptions(); + let transformations = this.dataConfigSource.getTransformations(); - if (data.series === lastRawFrames && lastFieldConfig?.fieldConfig === fieldConfig?.fieldConfig) { + if ( + data.series === lastRawFrames && + lastFieldConfig?.fieldConfig === fieldConfig?.fieldConfig && + lastTransformations === transformations + ) { return of({ ...data, structureRev, series: lastProcessedFrames }); } lastFieldConfig = fieldConfig; + lastTransformations = transformations; lastRawFrames = data.series; let dataWithTransforms = of(data);