The GitHub Actions job "Tests (AMD)" on 
airflow.git/restrict-exception-node-deserialization has succeeded.
Run started by GitHub user potiuk (triggered by potiuk).

Head commit for run:
6909526150ba5b8d484f749213f9a722cd5dcdcc / Jarek Potiuk <[email protected]>
Resolve serialized exception nodes without importing the stored class name

When deserializing AIRFLOW_EXC_SER / BASE_EXC_SER nodes, BaseSerialization
resolved the exception class with import_string() on a name taken from the
serialized blob. Resolve it against in-memory classes instead, so a stored
DAG never imports a class named in the blob:

- AIRFLOW_EXC_SER: look the name up in a map of loaded AirflowException
  subclasses, built once from the in-memory subclass tree; a name that is
  not a registered AirflowException subclass is rejected.
- BASE_EXC_SER: resolve against the fixed {KeyError, AttributeError} set
  that the encoder is the only producer of.

Unknown or disallowed names raise DeserializationError instead of being
imported. The trigger-node branch is handled separately.

Generated-by: Claude Opus 4.8 following the guidelines at
https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions

Report URL: https://github.com/apache/airflow/actions/runs/30538021880

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to