MatrixManAtYrService opened a new issue #19096:
URL: https://github.com/apache/airflow/issues/19096
### Apache Airflow version
2.2.0 (latest released)
### Operating System
Debian Buster (docker)
### Versions of Apache Airflow Providers
n/a
### Deployment
Astronomer
### Deployment details
No problems with `astro dev start`:
```Dockerfile
FROM quay.io/astronomer/ap-airflow:2.1.4-buster-onbuild
```
Problems occur with Dockerfile:
```Dockerfile
FROM quay.io/astronomer/ap-airflow:2.2.0-buster-onbuild
```
The DAG:
```python3
@task(params={"a": {1, 2, 3}, "b": {3, 4, 5}})
def intersect(intersection):
print(intersection)
@dag(
schedule_interval="@daily",
start_date=days_ago(1),
default_args={"owner": "airflow"},
)
def set_params():
intersect("{{ params.a.intersection(params.b).pop() }}")
```
### What happened
The DAG parses and runs fine on 2.1.4, but when I upgrade to 2.2.0 I see an
error at the top of the DAGs list:
<img width="596" alt="Screen Shot 2021-10-19 at 10 08 41 PM"
src="https://user-images.githubusercontent.com/5834582/138027465-5c552b09-9138-486c-b01c-3012f2f5c1fe.png">
The dag is still listed (from successful runs in 2.1.4) and when I click it
I see a new error:
```
Python version: 3.9.7
Airflow version: 2.2.0+astro.2
Node: 10b491f393be
-------------------------------------------------------------------------------
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 2447, in
wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1952, in
full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1821, in
handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.9/site-packages/flask/_compat.py", line 39,
in reraise
raise value
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1950, in
full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.9/site-packages/flask/app.py", line 1936, in
dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/usr/local/lib/python3.9/site-packages/airflow/www/auth.py", line
51, in decorated
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/airflow/www/decorators.py",
line 109, in view_func
return f(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/airflow/www/decorators.py",
line 72, in wrapper
return f(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/airflow/utils/session.py",
line 70, in wrapper
return func(*args, session=session, **kwargs)
File "/usr/local/lib/python3.9/site-packages/airflow/www/views.py", line
2259, in tree
dag = current_app.dag_bag.get_dag(dag_id)
File "/usr/local/lib/python3.9/site-packages/airflow/utils/session.py",
line 70, in wrapper
return func(*args, session=session, **kwargs)
File "/usr/local/lib/python3.9/site-packages/airflow/models/dagbag.py",
line 186, in get_dag
self._add_dag_from_db(dag_id=dag_id, session=session)
File "/usr/local/lib/python3.9/site-packages/airflow/models/dagbag.py",
line 261, in _add_dag_from_db
dag = row.dag
File
"/usr/local/lib/python3.9/site-packages/airflow/models/serialized_dag.py", line
180, in dag
dag = SerializedDAG.from_dict(self.data) # type: Any
File
"/usr/local/lib/python3.9/site-packages/airflow/serialization/serialized_objects.py",
line 916, in from_dict
return cls.deserialize_dag(serialized_obj['dag'])
File
"/usr/local/lib/python3.9/site-packages/airflow/serialization/serialized_objects.py",
line 830, in deserialize_dag
v = {task["task_id"]: SerializedBaseOperator.deserialize_operator(task)
for task in v}
File
"/usr/local/lib/python3.9/site-packages/airflow/serialization/serialized_objects.py",
line 830, in <dictcomp>
v = {task["task_id"]: SerializedBaseOperator.deserialize_operator(task)
for task in v}
File
"/usr/local/lib/python3.9/site-packages/airflow/serialization/serialized_objects.py",
line 587, in deserialize_operator
v = cls._deserialize_operator_params(v)
File
"/usr/local/lib/python3.9/site-packages/airflow/serialization/serialized_objects.py",
line 729, in _deserialize_operator_params
param_class = import_string(v['__class'])
KeyError: '__class'
```
### What you expected to happen
The dag runs the same as it did in 2.1.4
### How to reproduce
Run the above DAG in 2.2.0
### Anything else
_No response_
### Are you willing to submit PR?
- [ ] Yes I am willing to submit a PR!
### Code of Conduct
- [X] I agree to follow this project's [Code of
Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)
--
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]