Open bhavyarm opened 2 months ago
Pinging @elastic/kibana-presentation (Team:Presentation)
This looks like a reference error to me - the other panels on the dashboard are built on the same data view, and their references are being converted properly. Looking at the saved object - it seems like we are creating the reference (layer_1_source_index_pattern
) and it's getting translated properly (43fcac20-ca27-11eb-bf5e-3de94e83d4f0 -> 25161e69-51aa-56dd-aa91-21c1f82be976
) - but I'm not sure that it is getting applied in 8.15
? Could there be a reference problem with the new React Map @nreese?
This is just my guess as a Maps layman 🙈
This looks like a reference error to me - the other panels on the dashboard are built on the same data view, and their references are being converted properly. Looking at the saved object - it seems like we are creating the reference (layer_1_source_index_pattern) and it's getting translated properly (43fcac20-ca27-11eb-bf5e-3de94e83d4f0 -> 25161e69-51aa-56dd-aa91-21c1f82be976) - but I'm not sure that it is getting applied in 8.15? Could there be a reference problem with the new React Map @elastic/incident-response
You are right, its a reference problem. The error message is similar to one in canvas, https://github.com/elastic/kibana/issues/190994, which was a result of a reference problem.
@bhavyarm Where did you get these dashboard exports from (which version, how where they made)? The references do not contain the expected shape.
Provided reference for data view used in the map. Notice the name
key. This value should be panelId:layer_1_source_index_pattern
{
"id": "43fcac20-ca27-11eb-bf5e-3de94e83d4f0",
"name": "layer_1_source_index_pattern",
"type": "index-pattern"
},
In 8.15, map embeddable was migrated from a legacy embeddable to a react embeddable. This changed reference injection. See below for details. TLDR is that legacy embeddables pass all references to the embeddable factory when no references for the panel exist. React embeddables just pass an empty reference list regardless of if panel references exist or not.
Reference injection with legacy embeddables
workingState.panels[key] = { ...panel };
const filteredReferences = getReferencesForPanelId(key, references);
const panelReferences = filteredReferences.length === 0 ? references : filteredReferences;
Reference injection with react embeddables
const rawState = this.getInput().panels[childId].explicitInput;
const { id, ...serializedState } = rawState;
if (!rawState || Object.keys(serializedState).length === 0) return;
const references = getReferencesForPanelId(childId, this.savedObjectReferences);
return {
rawState,
references,
};
Kibana version: 8.15.1
Browser version: chrome latest
Browser OS version: OS X
Original install method (e.g. download page, yum, from source, etc.): from staging
Describe the bug: I upgraded from 7.17.23->8.15.1 BC1 with a bunch of saved objects. In a dashboard, one of the maps panel doesn't display any data instead displays this error - "Unable to create layer. Cannot create AbstractESSourceDescriptor when indexPatternId is not provided"
Same error when I exported the dashboard saved object from 7.17.23 and imported it to 8.15.1.
Here is the attached saved object file from 7.17.23 -
7.17.x_dashboard.ndjson.zip
Saved object file from 8.15.1 BC1
8.15.1_dashboard.ndjson.zip