dhkim1920 commented on code in PR #73783:
URL: https://github.com/apache/airflow/pull/73783#discussion_r4132985046


##########
task-sdk/src/airflow/sdk/execution_time/supervisor.py:
##########


Review Comment:
   I confirmed the type change you reported. The API parses 1.7E308 as a Python 
float, but after a PostgreSQL JSONB round trip, it becomes a 309-digit Python 
int.
   
   This stems from the change in Airflow 3 from Pickle to JSON/JSONB for 
storing DagRun.conf. Pickle preserved Python types, whereas PostgreSQL JSONB 
stores numbers internally as numeric and expands scientific notation when 
returning them. When the resulting number has neither a decimal point nor an 
exponent, Python’s JSON decoder reads it as an integer.
   
   This is documented PostgreSQL behavior, but it introduces a difference from 
Airflow 2 in how Python numeric types are preserved.
   
   This PR addresses task startup failures caused by large integers, including 
those produced by this conversion. It does not restore the original float type. 
Preserving the original numeric type needs separate consideration.



-- 
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