Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import dashboard/assets with overwrite flag does not replace dashboards #22127

Open
3 tasks
cleslie opened this issue Nov 15, 2022 · 7 comments · May be fixed by #25102
Open
3 tasks

Import dashboard/assets with overwrite flag does not replace dashboards #22127

cleslie opened this issue Nov 15, 2022 · 7 comments · May be fixed by #25102
Labels
#bug Bug report

Comments

@cleslie
Copy link
Contributor

cleslie commented Nov 15, 2022

When importing a dashboard via /api/v1/dashboard/import/ with the ovewrite flag set to true, the charts within the dashboard are merged with existing charts. I would expect if passing the overwrite flag that whatever you upload would replace the existing dashboard. This is useful for a version control where you want the .yml in the repository to exactly reflect what is in the superset database. This is also the same for the /api/v1/assets/import/ API although this doesn't take an overwrite parameter.

How to reproduce the bug

  1. Export dashboard with chartA and chartB
  2. Unzip exported file
  3. Edit yml to remove /charts/chartB.yml and remove references to it in /dashboards/dashboard.yml
  4. Zip up files and upload with overwrite flag
  5. Dashboard is updated but still contains both charts

Expected results

Expect that dashboards should be replaced when imported and the overwrite flag is passed.

Actual results

Imported dashboards seem to be merged with what is already in the database.

Screenshots

N/A

Environment

(please complete the following information):

  • browser type and version: firefox 106.0.5 but this is also the behaviour in the api
  • superset version: 2.0.1rc2
  • python version: 3.9.7
  • node.js version: 16.14.2
  • any feature flags active:

Checklist

Make sure to follow these steps before submitting your issue - thank you!

  • I have checked the superset logs for python stacktraces and included it here as text if there are any.
  • I have reproduced the issue with at least the latest released version of superset.
  • I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context

Slack discussion: https://apache-superset.slack.com/archives/C015WAZL0KH/p1667918679617939

@cleslie cleslie added the #bug Bug report label Nov 15, 2022
@ey3ball
Copy link

ey3ball commented Nov 16, 2022

I'm running into this as well (superset 2.0.0) by using the import / export feature from the UI.

The example given by @cleslie is about removing a chart, but the same things happens for updates, as well as datasets :

  1. Export Dashboard through the UI with chartA, datasetA
  2. Modify dashboard, chartA, datasetA
  3. Import back dashboard file obtained in step 1, OVERWRITE is specified in the UI
  4. Dashboard configuration is rolled back, chartA and datasetA are left in their state after (2)

Manually extracting datasets / charts from the archive, and importing them through the dedicated dataset / chart import tools applies updates as expected

I would add it may be interesting to give the user a chance to select what actually gets updated. For my specific use case I would like charts / datasets to be updated as dependencies of the dashboard, but I need databases to remain untouched (dashboards are moved between staging / production environements which use different source databases)

@musicmuthu
Copy link

any solution for this issue.

@ashayargal
Copy link

Still have this issue
Will the above PR be reviewed anytime soon?

@rusackas
Copy link
Member

rusackas commented Feb 9, 2024

#23489 aims to fix this, but needs a rebase, a PR description, and some reviews. If anyone wants to review that code, test the solution, or open a rebased PR based on it, please go for it! Thanks in advance :D

CC @betodealmeida for awareness of import/export issues, as usual :D

@rusackas
Copy link
Member

rusackas commented Jun 3, 2024

Anyone still facing this? Tempted to close it as stale, but it's probably still an issue. Anyone who wants to open a PR here (including @Naveench131) would be appreciated :)

@lindenh
Copy link
Contributor

lindenh commented Oct 23, 2024

Yeah this is still an issue. The workaround that we've been doing on our end is to export as dashboards, change the type in the metadata file from Dashboard to assets, and then just use the assets API to import, though that obviously isn't ideal. I had a PR over in #25102 but it's a year old and I'm not certain that fix still works. I'll see if I get some time this or next week to fix it up.

@lindenh
Copy link
Contributor

lindenh commented Jan 7, 2025

That PR is ready for review again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
#bug Bug report
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants