The GitHub Actions job "Tests AMD" on 
airflow.git/optimize-task-instance-queries has failed.
Run started by GitHub user kaxil (triggered by kaxil).

Head commit for run:
94c032f2d525d5429d567bf14f7991a9293991ed / Kaxil Naik <[email protected]>
Optimize task instance API queries by removing redundant JOINs

Remove duplicate `.join(TI.dag_run)` calls in task instance API endpoints that 
were
redundant with `joinedload(TI.dag_run)` options, resulting in cleaner SQL 
execution.

- GET `/dagRuns/{dag_run_id}/taskInstances/{task_id}`
- GET `/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}`
- POST `/dagRuns/~/taskInstances/list`

❌ Before (Redundant):
```python
query = (
    select(TI)
    .join(TI.dag_run)                               # Explicit JOIN
    .options(joinedload(TI.dag_run))               # Creates ANOTHER JOIN!
)
```

✅ After:
```python
query = (
    select(TI)
    .options(joinedload(TI.dag_run))               # Single efficient JOIN
)
```

**Before (with redundant JOINs):**
```sql
FROM task_instance
JOIN dag_run ON dag_run.dag_id = task_instance.dag_id AND dag_run.run_id = 
task_instance.run_id
JOIN dag_run AS dag_run_1 ON dag_run_1.dag_id = task_instance.dag_id AND 
dag_run_1.run_id = task_instance.run_id
LEFT OUTER JOIN dag AS dag_1 ON dag_run_1.dag_id = dag_1.dag_id
```

**After:**
```sql
FROM task_instance
JOIN dag_run AS dag_run_1 ON dag_run_1.dag_id = task_instance.dag_id AND 
dag_run_1.run_id = task_instance.run_id
LEFT OUTER JOIN dag AS dag_1 ON dag_run_1.dag_id = dag_1.dag_id
```

Tested using SQLAlchemy query compilation with PostgreSQL to confirm:
- 2 → 1 dag_run JOINs per endpoint
- Maintained all required relationship loading
- No import or syntax errors introduced

Report URL: https://github.com/apache/airflow/actions/runs/16907178346

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to