Currently Stage 1 + Stage 2 don't have a time limit and can't be easily cancelled.
This is risky in connection with a complex query.
Task:
- Introduce timeouts (e.g. 10-20-30 seconds)
- Support cancellation in the frontend (cancel UI) and in the backend (AbortSignal?)