github-actions[bot] opened a new pull request, #71889:
URL: https://github.com/apache/airflow/pull/71889

   delete_dag forced SQLAlchemy's "fetch" synchronization strategy on every bulk
   delete it issues. That strategy reads the primary key of every deleted row 
back
   from the database so it can mark matching in-memory objects as deleted, but 
the
   session holds nothing beyond the Dag's own DagModel row — the keys were 
matched
   against an effectively empty identity map and discarded, once per table with 
a
   dag_id column.
   
   The cost scaled with the Dag's history rather than with the number of objects
   actually needing synchronization: roughly 211 bytes of transient Python heap 
per
   deleted row on PostgreSQL, or about 1 GiB in the API server for a Dag with 
five
   million task instances.
   
   The default strategy evaluates the criteria in Python against the objects 
already
   loaded, so synchronization still happens without a round-trip sized by the 
row
   count.
   (cherry picked from commit b61c9c63298a6f171bd04cd4090e9d1b4387d896)
   
   Co-authored-by: Jyun-An Chen <[email protected]>


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