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]
