dosubot[bot] commented on issue #37551:
URL: https://github.com/apache/superset/issues/37551#issuecomment-3818420537

   <!-- Answer -->
   Superset 6 introduced stricter validation for embedded dashboards, 
especially around Row Level Security (RLS) and calculated columns. Even if all 
your datasets have the contract_document_number column, there are a few 
v6-specific issues that can cause the exact symptoms you’re seeing:
   
   - If you use a global RLS clause (no dataset_id), Superset v6 applies it to 
every dataset in the dashboard. If any dataset—even a virtual one or a legacy 
chart—doesn’t have the column in both the metadata and the underlying 
table/view, all charts will fail and you’ll see only a couple of 400 errors in 
the network tab. This is a change from v5, where this was less strict. Try 
specifying dataset_id in each RLS rule to avoid this global application and see 
if charts load 
[details](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/charts/data/api.py#L180-L464).
   
   - Superset 6.0.0+ requires Node.js 20.x for frontend builds. Using Node 16 
(as in your setup) can cause missing assets and subtle UI failures, including 
dashboards not rendering 
[reference](https://github.com/apache/superset/issues/37282).
   
   - There’s a regression in Superset 6 where calculated columns sometimes 
don’t inject their SQL expressions into the generated query, so the database 
sees only the column name and returns an “unknown column” error—even if the 
column exists in the dataset metadata. This did not happen in v5 
[reference](https://github.com/apache/superset/issues/34784).
   
   - If you have the DYNAMIC_PLUGINS feature flag enabled, dashboards can hang 
indefinitely in v6. Disable this flag in your superset_config.py 
[reference](https://github.com/apache/superset/issues/37282).
   
   To troubleshoot:
   1. Make sure you’re using Node.js 20+ and have rebuilt frontend assets.
   2. Disable DYNAMIC_PLUGINS if it’s enabled.
   3. Refresh columns for every dataset used in the dashboard.
   4. Explicitly set dataset_id in each RLS rule.
   5. If you use calculated columns, try removing them or rewriting the logic 
directly in the chart as a test.
   
   If you still see 400 errors, check the full error message in the 
/api/v1/chart/data response for clues about which dataset or query is failing. 
Testing with a minimal dashboard (one chart, no RLS) can help isolate the 
problem.
   
   
   <!-- Dosu Comment Footer -->
   *To reply, just mention [@dosu](https://go.dosu.dev/dosubot).*
   
   ---
   <sup>How did I do? 
[Good](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=great_response)
 | 
[Irrelevant](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=irrelevant_answer)
 | 
[Incorrect](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=incorrect_sources)
 | 
[Verbose](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=too_verbose)
 | 
[Hallucination](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=hallucination)
 | [Report 
🐛](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=bug_report)
 | 
[Other](https://app.dosu.dev/response-feedback/976d989e-763d-4a44-8cbc-74e14c0178db?feedback_type=other)</sup>
   
   [![Chat with 
Dosu](https://dosu.dev/dosu-chat-badge.svg)](https://app.dosu.dev/a28d3c7e-a9d3-459e-9fb6-3a6f9ff4f357/ask?utm_source=github)&nbsp;[![Open
 in 
Cursor](https://dosu.dev/dosu-in-cursor.svg)](https://cursor.com/link/prompt?text=Superset%206%20introduced%20stricter%20validation%20for%20embedded%20dashboards%2C%20especially%20around%20Row%20Level%20Security%20%28RLS%29%20and%20calculated%20columns.%20Even%20if%20all%20your%20datasets%20have%20the%20contract_document_number%20column%2C%20there%20are%20a%20few%20v6-specific%20issues%20that%20can%20cause%20the%20exact%20symptoms%20you%E2%80%99re%20seeing%3A%0A%0A-%20If%20you%20use%20a%20global%20RLS%20clause%20%28no%20dataset_id%29%2C%20Superset%20v6%20applies%20it%20to%20every%20dataset%20in%20the%20dashboard.%20If%20any%20dataset%E2%80%94even%20a%20virtual%20one%20or%20a%20legacy%20chart%E2%80%94doesn%E2%80%99t%20have%20the%20column%20in%20both%20the%20metadata%20and%20the%20underlying%20table/view%2C%20all%20charts%20will%2
 
0fail%20and%20you%E2%80%99ll%20see%20only%20a%20couple%20of%20400%20errors%20in%20the%20network%20tab.%20This%20is%20a%20change%20from%20v5%2C%20where%20this%20was%20less%20strict.%20Try%20specifying%20dataset_id%20in%20each%20RLS%20rule%20to%20avoid%20this%20global%20application%20and%20see%20if%20charts%20load%C2%A0%5Bdetails%5D%28https%3A//github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/charts/data/api.py%23L180-L464%29.%0A%0A-%20Superset%206.0.0%2B%20requires%20Node.js%2020.x%20for%20frontend%20builds.%20Using%20Node%2016%20%28as%20in%20your%20setup%29%20can%20cause%20missing%20assets%20and%20subtle%20UI%20failures%2C%20including%20dashboards%20not%20rendering%C2%A0%5Breference%5D%28https%3A//github.com/apache/superset/issues/37282%29.%0A%0A-%20There%E2%80%99s%20a%20regression%20in%20Superset%206%20where%20calculated%20columns%20sometimes%20don%E2%80%99t%20inject%20their%20SQL%20expressions%20into%20the%20generated%20query%2C%20so%20the%20databa
 
se%20sees%20only%20the%20column%20name%20and%20returns%20an%20%E2%80%9Cunknown%20column%E2%80%9D%20error%E2%80%94even%20if%20the%20column%20exists%20in%20the%20dataset%20metadata.%20This%20did%20not%20happen%20in%20v5%C2%A0%5Breference%5D%28https%3A//github.com/apache/superset/issues/34784%29.%0A%0A-%20If%20you%20have%20the%20DYNAMIC_PLUGINS%20feature%20flag%20enabled%2C%20dashboards%20can%20hang%20indefinitely%20in%20v6.%20Disable%20this%20flag%20in%20your%20superset_config.py%C2%A0%5Breference%5D%28https%3A//github.com/apache/superset/issues/37282%29.%0A%0ATo%20troubleshoot%3A%0A1.%20Make%20sure%20you%E2%80%99re%20using%20Node.js%2020%2B%20and%20have%20rebuilt%20frontend%20assets.%0A2.%20Disable%20DYNAMIC_PLUGINS%20if%20it%E2%80%99s%20enabled.%0A3.%20Refresh%20columns%20for%20every%20dataset%20used%20in%20the%20dashboard.%0A4.%20Explicitly%20set%20dataset_id%20in%20each%20RLS%20rule.%0A5.%20If%20you%20use%20calculated%20columns%2C%20try%20removing%20them%20or%20rewriting%20the%20l
 
ogic%20directly%20in%20the%20chart%20as%20a%20test.%0A%0AIf%20you%20still%20see%20400%20errors%2C%20check%20the%20full%20error%20message%20in%20the%20/api/v1/chart/data%20response%20for%20clues%20about%20which%20dataset%20or%20query%20is%20failing.%20Testing%20with%20a%20minimal%20dashboard%20%28one%20chart%2C%20no%20RLS%29%20can%20help%20isolate%20the%20problem.)&nbsp;[![Join
 
Discord](https://img.shields.io/badge/join-5865F2?logo=discord&logoColor=white&label=)](https://go.dosu.dev/discord-bot)&nbsp;[![Share
 on 
X](https://img.shields.io/badge/X-share-black)](https://twitter.com/intent/tweet?text=%40dosu_ai%20helped%20me%20solve%20this%20issue!&url=https%3A//github.com/apache/superset/issues/37551)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to