jherrmannNetfonds opened a new issue, #31769:
URL: https://github.com/apache/airflow/issues/31769

   ### Apache Airflow version
   
   2.6.1
   
   ### What happened
   
   After upgrading from airflow 2.5.2 to 2.6.1 calling the endpoint 
`xcom/list/` we get the following exception:
   ```
   [2023-06-07T12:16:50.050+0000] {app.py:1744} ERROR - Exception on 
/xcom/list/ [GET]
   Traceback (most recent call last):
     File "/home/airflow/.local/lib/python3.10/site-packages/flask/app.py", 
line 2529, in wsgi_app
       response = self.full_dispatch_request()
     File "/home/airflow/.local/lib/python3.10/site-packages/flask/app.py", 
line 1825, in full_dispatch_request
       rv = self.handle_user_exception(e)
     File "/home/airflow/.local/lib/python3.10/site-packages/flask/app.py", 
line 1823, in full_dispatch_request
       rv = self.dispatch_request()
     File "/home/airflow/.local/lib/python3.10/site-packages/flask/app.py", 
line 1799, in dispatch_request
       return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py",
 line 139, in wraps
       return f(self, *args, **kwargs)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/flask_appbuilder/views.py", 
line 554, in list
       widgets = self._list()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/flask_appbuilder/baseviews.py",
 line 1177, in _list
       widgets = self._get_list_widget(
     File 
"/home/airflow/.local/lib/python3.10/site-packages/flask_appbuilder/baseviews.py",
 line 1076, in _get_list_widget
       count, lst = self.datamodel.query(
     File 
"/home/airflow/.local/lib/python3.10/site-packages/flask_appbuilder/models/sqla/interface.py",
 line 500, in query
       query_results = query.all()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/orm/query.py", 
line 2773, in all
       return self._iter().all()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/engine/result.py",
 line 1476, in all
       return self._allrows()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/engine/result.py",
 line 401, in _allrows
       rows = self._fetchall_impl()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/engine/result.py",
 line 1389, in _fetchall_impl
       return self._real_result._fetchall_impl()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/engine/result.py",
 line 1813, in _fetchall_impl
       return list(self.iterator)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", 
line 151, in chunks
       rows = [proc(row) for row in fetch]
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", 
line 151, in <listcomp>
       rows = [proc(row) for row in fetch]
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/orm/loading.py", 
line 984, in _instance
       state.manager.dispatch.load(state, context)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/event/attr.py", 
line 334, in __call__
       fn(*args, **kw)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/sqlalchemy/orm/mapper.py", 
line 3702, in _event_on_load
       instrumenting_mapper._reconstructor(state.obj())
     File 
"/home/airflow/.local/lib/python3.10/site-packages/airflow/models/xcom.py", 
line 128, in init_on_load
       self.value = self.orm_deserialize_value()
     File 
"/home/airflow/.local/lib/python3.10/site-packages/airflow/models/xcom.py", 
line 677, in orm_deserialize_value
       return BaseXCom._deserialize_value(self, True)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/airflow/models/xcom.py", 
line 659, in _deserialize_value
       return json.loads(result.value.decode("UTF-8"), cls=XComDecoder, 
object_hook=object_hook)
     File "/usr/local/lib/python3.10/json/__init__.py", line 359, in loads
       return cls(**kw).decode(s)
     File "/usr/local/lib/python3.10/json/decoder.py", line 337, in decode
       obj, end = self.raw_decode(s, idx=_w(s, 0).end())
     File "/usr/local/lib/python3.10/json/decoder.py", line 353, in raw_decode
       obj, end = self.scan_once(s, idx)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/airflow/utils/json.py", line 
126, in orm_object_hook
       return deserialize(dct, False)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/airflow/serialization/serde.py",
 line 209, in deserialize
       o = _convert(o)
     File 
"/home/airflow/.local/lib/python3.10/site-packages/airflow/serialization/serde.py",
 line 273, in _convert
       return {CLASSNAME: old[OLD_TYPE], VERSION: DEFAULT_VERSION, DATA: 
old[OLD_DATA][OLD_DATA]}
   KeyError: '__var'
   ```
   
   Some xcom entries from previous airflow versions seem to be incompatible 
with the new refactored serialization from 
https://github.com/apache/airflow/pull/28067
   
   ### What you think should happen instead
   
   xcom entries should be displayed
   
   ### How to reproduce
   
   I am working on an example entry in the airflow DB which will cause the 
error. Currently I have not identified the problematic xcom entries.
   
   ### Operating System
   
   Debian GNU/Linux 11 (bullseye)
   
   ### Versions of Apache Airflow Providers
   
   apache-airflow-providers-amazon==8.0.0
   apache-airflow-providers-apache-kafka==1.1.0
   apache-airflow-providers-celery==3.1.0
   apache-airflow-providers-cncf-kubernetes==6.1.0
   apache-airflow-providers-common-sql==1.4.0
   apache-airflow-providers-docker==3.6.0
   apache-airflow-providers-elasticsearch==4.4.0
   apache-airflow-providers-ftp==3.3.1
   apache-airflow-providers-google==10.1.1
   apache-airflow-providers-grpc==3.1.0
   apache-airflow-providers-hashicorp==3.3.1
   apache-airflow-providers-http==4.3.0
   apache-airflow-providers-imap==3.1.1
   apache-airflow-providers-microsoft-azure==6.0.0
   apache-airflow-providers-mysql==5.0.0
   apache-airflow-providers-odbc==3.2.1
   apache-airflow-providers-postgres==5.4.0
   apache-airflow-providers-redis==3.1.0
   apache-airflow-providers-sendgrid==3.1.0
   apache-airflow-providers-sftp==4.2.4
   apache-airflow-providers-slack==7.2.0
   apache-airflow-providers-snowflake==4.0.5
   apache-airflow-providers-sqlite==3.3.2
   apache-airflow-providers-ssh==3.6.0
   
   ### Deployment
   
   Other 3rd-party Helm chart
   
   ### Deployment details
   
   _No response_
   
   ### Anything else
   
   The double `old[OLD_DATA][OLD_DATA]` looks suspicious to me in  
https://github.com/apache/airflow/blob/58fca5eb3c3521e3fa1b3beeb066acb15629deeb/airflow/serialization/serde.py#L273
   
   ### Are you willing to submit PR?
   
   - [X] 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]

Reply via email to