Open
Description
Bug description
Bug Description
Hello.
When using the Deck.gl Multiple Layers chart, the geometry on the map is not updated after the underlying dataset changes.
- I create a dataset in Superset that returns latitude and longitude.
- I use this dataset to create a Deck.gl Scatter chart.
- I then create a Deck.gl Multiple Layers chart that includes the Scatter chart from step (2).
At this point, both the Deck.gl Scatter chart and the Deck.gl Multiple Layers chart correctly display points on the map. However, after I change the dataset so that it returns different records, the Scatter chart updates correctly while the Deck.gl Multiple Layers chart does not update—it continues to display the old points.
- OS: Ubuntu 22.04.5
- Superset version: 4.1.1
- DB: PostgreSQL
Detailed Steps to Reproduce
- Create a dataset (test-dataset) with the following SQL (this initially returns 2 records):
SELECT *
FROM (VALUES (36.54, 136.97, 1),
(36.70, 137.10, 2)
) AS t(lat, lng, id);
-
From test-dataset, create a Deck.gl Scatter Map chart (test-scatter). You will see two points plotted on the map.
-
Create a Deck.gl Multiple Layers chart (test-multi-layer) that includes:
- Dataset: test-dataset
- Deck.gl Chart: test-scatter
At this stage, both charts (Scatter and Multiple Layers) properly display two points on the map.
- Update test-dataset so that the SQL now returns only 1 record:
SELECT *
FROM (VALUES (36.54, 136.97, 1),
(36.70, 137.10, 2)
) AS t(lat, lng, id)
WHERE id = 1;
After this change, the Scatter chart updates correctly and displays only 1 point. However, the Deck.gl Multiple Layers chart still shows the original 2 points and does not update.
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist
- I have searched Superset docs and Slack and didn't find a solution to my problem.
- I have searched the GitHub issue tracker and didn't find a similar bug report.
- I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.