You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "ferruzzi (via GitHub)" <gi...@apache.org> on 2023/09/28 16:57:14 UTC
[GitHub] [airflow] ferruzzi commented on pull request #34492: Fix datetime deserialization by replacing timezone short code by its name in serialized values
ferruzzi commented on PR #34492:
URL: https://github.com/apache/airflow/pull/34492#issuecomment-1739697754
The [DynamoDB to S3 sytsem test ](https://github.com/apache/airflow/blob/main/tests/system/providers/amazon/aws/example_dynamodb_to_s3.py) has been failing with an "invalid timezone" exception since this got merged. I'm looking into it.
```
ERROR airflow.executors.debug_executor.DebugExecutor:debug_executor.py:92 Failed to execute task: Invalid timezone.
--
Traceback (most recent call last):
File "/opt/airflow/airflow/executors/debug_executor.py", line 86, in _run_task
ti.run(job_id=ti.job_id, **params)
File "/opt/airflow/airflow/utils/session.py", line 79, in wrapper
return func(*args, session=session, **kwargs)
File "/opt/airflow/airflow/models/taskinstance.py", line 2507, in run
self._run_raw_task(
File "/opt/airflow/airflow/utils/session.py", line 76, in wrapper
return func(*args, **kwargs)
File "/opt/airflow/airflow/models/taskinstance.py", line 2246, in _run_raw_task
self._execute_task_with_callbacks(context, test_mode, session=session)
File "/opt/airflow/airflow/models/taskinstance.py", line 2375, in _execute_task_with_callbacks
task_orig = self.render_templates(context=context)
File "/opt/airflow/airflow/models/taskinstance.py", line 2787, in render_templates
original_task.render_template_fields(context)
File "/opt/airflow/airflow/models/baseoperator.py", line 1248, in render_template_fields
self._do_render_template_fields(self, self.template_fields, context, jinja_env, set())
File "/opt/airflow/airflow/utils/session.py", line 79, in wrapper
return func(*args, session=session, **kwargs)
File "/opt/airflow/airflow/models/abstractoperator.py", line 699, in _do_render_template_fields
rendered_content = self.render_template(
File "/opt/airflow/airflow/template/templater.py", line 157, in render_template
return value.resolve(context)
File "/opt/airflow/airflow/utils/session.py", line 79, in wrapper
return func(*args, session=session, **kwargs)
File "/opt/airflow/airflow/models/xcom_arg.py", line 417, in resolve
result = ti.xcom_pull(
File "/opt/airflow/airflow/utils/session.py", line 76, in wrapper
return func(*args, **kwargs)
File "/opt/airflow/airflow/models/taskinstance.py", line 2967, in xcom_pull
return XCom.deserialize_value(first)
File "/opt/airflow/airflow/models/xcom.py", line 696, in deserialize_value
return BaseXCom._deserialize_value(result, False)
File "/opt/airflow/airflow/models/xcom.py", line 689, in _deserialize_value
return json.loads(result.value.decode("UTF-8"), cls=XComDecoder, object_hook=object_hook)
File "/usr/local/lib/python3.8/json/__init__.py", line 370, in loads
return cls(**kw).decode(s)
File "/usr/local/lib/python3.8/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python3.8/json/decoder.py", line 353, in raw_decode
obj, end = self.scan_once(s, idx)
File "/opt/airflow/airflow/utils/json.py", line 117, in object_hook
return deserialize(dct)
File "/opt/airflow/airflow/serialization/serde.py", line 255, in deserialize
return _deserializers[classname].deserialize(classname, version, deserialize(value))
File "/opt/airflow/airflow/serialization/serializers/datetime.py", line 86, in deserialize
tz = deserialize_timezone(data[TIMEZONE][1], data[TIMEZONE][2], data[TIMEZONE][0])
File "/opt/airflow/airflow/serialization/serializers/timezone.py", line 72, in deserialize
return timezone(data)
File "/usr/local/lib/python3.8/site-packages/pendulum/tz/__init__.py", line 37, in timezone
tz = _Timezone(name, extended=extended)
File "/usr/local/lib/python3.8/site-packages/pendulum/tz/timezone.py", line 40, in __init__
tz = read(name, extend=extended)
File "/usr/local/lib/python3.8/site-packages/pendulum/tz/zoneinfo/__init__.py", line 9, in read
return Reader(extend=extend).read_for(name)
File "/usr/local/lib/python3.8/site-packages/pendulum/tz/zoneinfo/reader.py", line 50, in read_for
file_path = pytzdata.tz_path(timezone)
File "/usr/local/lib/python3.8/site-packages/pytzdata/__init__.py", line 63, in tz_path
raise ValueError('Invalid timezone')
ValueError: Invalid timezone
```
--
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: commits-unsubscribe@airflow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org