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]
