Following up from #16412
I tried using jinja template with global async queries(GAQ) enabled in version 1.3.0. I got the same error as stated in here (#14786).
In recent release (v1.3.1rc1), the issue was addressed and it should be fixed. However, I tried to install the new release and enable jinja template as well as GAQ to simulate the previous error. It doesn't throw any error, but now it shows wrong values.
Expected results
GAQ should work with jinja templating and shows correct values.
Actual results
As you can see from the screenshot, the chart returns 0. However, if you look at the bottom data, it returns 4625 (which is the correct one) instead of 0.
Screenshots

Looking at the logs it seems the first query (for the chart) pass through the jinja template, but has no context/variable that should be appended, hence it put the value None.
superset_app | 172.21.0.1 - - [09/Sep/2021 10:47:39] "GET /api/v1/async_event/?last_id=1631183590197-0 HTTP/1.1" 200 -
superset_app | 2021-09-09 10:47:39,394:INFO:werkzeug:172.21.0.1 - - [09/Sep/2021 10:47:39] "GET /api/v1/async_event/?last_id=1631183590197-0 HTTP/1.1" 200 -
superset_app | 2021-09-09 10:47:39,443:DEBUG:superset.sql_parse:Parsing with sqlparse statement: SELECT *
superset_app | FROM "Flights"
superset_app | WHERE "AIRLINE" = 'None'
superset_app | 2021-09-09 10:47:39,456:INFO:superset.common.utils:Cache key: 165593a0806194e5c6b40923f7e946b2
superset_app | 2021-09-09 10:47:39,456:DEBUG:superset.stats_logger:[stats_logger] (incr) loading_from_cache
superset_app | 2021-09-09 10:47:39,456:DEBUG:superset.stats_logger:[stats_logger] (incr) loaded_from_cache
superset_app | 2021-09-09 10:47:39,456:INFO:superset.common.utils:Serving from cache
superset_app | 2021-09-09 10:47:39,461:DEBUG:superset.stats_logger:[stats_logger] (incr) ChartRestApi.data_from_cache.success
superset_app | 2021-09-09 10:47:39,461:DEBUG:superset.stats_logger:[stats_logger] (timing) ChartRestApi.data_from_cache.time | 45.62420000002021
superset_app | 172.21.0.1 - - [09/Sep/2021 10:47:39] "GET /api/v1/chart/data/qc-3420381c3553925b0c069dc140aaca1a HTTP/1.1" 200 -
superset_app | 2021-09-09 10:47:39,467:INFO:werkzeug:172.21.0.1 - - [09/Sep/2021 10:47:39] "GET /api/v1/chart/data/qc-3420381c3553925b0c069dc140aaca1a HTTP/1.1" 200 -
superset_app | 2021-09-09 10:47:39,592:DEBUG:superset.sql_parse:Parsing with sqlparse statement: SELECT *
superset_app | FROM "Flights"
superset_app | WHERE "AIRLINE" = 'UA'
Just for reference, I used this query for this test.
SELECT *
FROM "Flights"
WHERE "AIRLINE" = '{{ url_param('test') }}'
How to reproduce the bug
- Enable GAQ.
- Use
url_param function in jinja template.
- Run any dataset with jinja templating.
Environment
(please complete the following information):
- superset version:
1.3.1rc1
- python version:
3.7.9
- node.js version:
14
Checklist
Make sure to follow these steps before submitting your issue - thank you!
Following up from #16412
I tried using jinja template with global async queries(GAQ) enabled in version 1.3.0. I got the same error as stated in here (#14786).
In recent release (v1.3.1rc1), the issue was addressed and it should be fixed. However, I tried to install the new release and enable jinja template as well as GAQ to simulate the previous error. It doesn't throw any error, but now it shows wrong values.
Expected results
GAQ should work with jinja templating and shows correct values.
Actual results
As you can see from the screenshot, the chart returns
0. However, if you look at the bottom data, it returns4625(which is the correct one) instead of0.Screenshots
Looking at the logs it seems the first query (for the chart) pass through the jinja template, but has no context/variable that should be appended, hence it put the value
None.Just for reference, I used this query for this test.
How to reproduce the bug
url_paramfunction in jinja template.Environment
(please complete the following information):
1.3.1rc13.7.914Checklist
Make sure to follow these steps before submitting your issue - thank you!