apache / apache/airflow

Keycload bulk authorization sequential calls causing delay

Open
#71,499 5 comments 0 reactions 0 assignees View on GitHub
area:API kind:feature provider:keycloak
Dominant language
Python
Stars
46.9k
Forks
17.8k
Avg merge
2d 9h
Merged PRs (30d)
472

Description

### Description

When a user goes to the `/dags` screen, they are first greeted by the UI skeleton, with some loading indicators and no dags. This is because the FastAPI server is requesting authorisation for each dag object individually. For deployments where there are lots of dags this takes a long time, so users can be stuck waiting for the dags screen to be populated for long periods of time (1 minute+ in some cases).

### Use case/motivation

In order to make the `/dags` and other aggregate list view screens more usable, asynchronously load each dag onto the screen in a list while the authorisation is confirming access for the remaining dags. This allows users to get some information about the system state before the entire UI has loaded.

### Related issues

_No response_

### Are you willing to submit a PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [x] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

Contributor guide

Open the contributing guide

Research direction

Start by tracing the `/dags` screen and the FastAPI server path that requests authorization for each DAG object. Check how aggregate list views receive and render DAGs, then verify that authorized DAGs appear incrementally while remaining authorization checks continue; done means the screen no longer waits for every DAG before showing results.

Written by the indexing model from the issue text.

Assessment

Tech stack
fastapi, python
Domain
backend, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.