divyanshus2404 commented on issue #76992:
URL: https://github.com/apache/airflow/issues/76992#issuecomment-6856789424

   As promised, findings before/with the PR — all four failure modes trace to 
`add_asset_trigger_references` in `dag_processing/collection.py`:
   
   1. The reuse lookup matches on `(classpath, encrypted_kwargs)` with no team 
filter, so the second team's parse adopts the first team's trigger row.
   2. With a Fernet key set, `encrypt_kwargs` is non-deterministic, so that SQL 
equality never matches at all — which is why sharing only shows up without a 
Fernet key.
   3. The add/remove diff compares against **all** of `AssetModel.triggers` 
(every team's), so a team that only schedules on the asset computes the owning 
team's watcher into the remove set each parse, and the owning team re-adds it 
on its next parse.
   4. A pre-multi-team trigger has `team_name NULL`, which no team's lookup 
matches.
   
   Opened #77026: scopes reuse/diff/removal to the parsing team (gated on 
`multi_team`), and switches the reuse match to classpath + trigger-hash 
comparison in Python so it's Fernet-safe. Includes a regression test for the 
two-team shared-watcher case that fails on main.


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