fat-catTW commented on PR #72715:
URL: https://github.com/apache/airflow/pull/72715#issuecomment-5597002413
Hello
I would appreciate maintainer feedback on a few API and behavior decisions
before moving forward:
1. **Response semantics**
The endpoint currently returns `202 Accepted` once the refresh generation
has been persisted. It does not indicate that any Dag processor has refreshed
the bundle or completed Dag parsing. Is this acknowledgement-only contract
appropriate for the initial version, or should completion/status tracking be
part of the first implementation?
2. **Refresh delivery**
Each Dag processor responsible for the bundle independently polls the
persisted generation. This provides broadcast behavior, but delivery may take
up to `bundle_refresh_check_interval`. Multiple requests may also be coalesced
when a processor observes only the latest generation. Are these polling and
coalescing semantics acceptable?
3. **Refresh scope**
The request refreshes the bundle and discovers its files. Newly
discovered files are prioritized, but recently parsed existing files may still
be subject to `min_file_process_interval`. Should an explicit bundle refresh
also force every existing file in that
bundle to be reparsed immediately?
4. **Authorization**
The current implementation reuses Dag `PUT` authorization. Team-owned
bundles pass the owning team scope, while global bundles require global Dag
edit access. Is reusing Dag authorization appropriate, or should Dag bundles
have a dedicated authorization resource?
5. **Endpoint naming**
The implementation uses: `POST /api/v2/dagBundles/{bundle_name}/refresh`
This follows existing Airflow API naming conventions, while the issue proposes
`/api/v2/dag-bundles/{bundle_id}/refresh`. Which path and identifier should be
treated as the public API contract?
--
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]