PERF-ONT-005 — Bound workbook query fan-out
| Field | Value |
|---|---|
| Status | Open finding; source-verified; concurrency boundary pending |
| Severity | High |
| Components | sparqd/oqullus, sparqd/ontology, Cube, Trino |
| Associated issues | Not opened pending finding review |
Concrete observed case
Workbook list has no pagination and is filtered in the browser. Dashboard open starts one asynchronous semantic query per selected tab without a concurrency budget. Proposal impact loads every workbook detail, and rename merge scans all project workbook tabs synchronously before commit.
Expected condition
Workbook discovery is server-paged and summarized. Dashboard execution uses a fair, cancellable concurrency budget with per-chart queue and terminal state. Impact and rename lookup use indexed or batched dependencies with a measured merge transaction limit.
Why it matters
One dashboard can burst queries into Cube/Trino, while workbook count increases page latency and lengthens a governance transaction. Concurrent users multiply the burst.
Existing controls and workarounds
Users can reduce dashboard tabs manually. There is no enforced concurrency, workbook-count, or transaction-size boundary.
Alternatives considered
- Recommended: server paging, bounded dashboard scheduler, and maintained dependency index or batched merge reads.
- UI-only concurrency pool — useful immediately, but backend admission remains necessary across clients.
- More Cube/Trino replicas — does not bound bursts or merge scans.
Component involvement
- Oqullus queues panels and presents independent state/cancellation.
- Ontology pages workbooks and supports efficient dependency lookup.
- Cube/Trino enforce shared admission and resource limits.
Reproduction and verification
Follow ONT-S018.
Resolution conditions
Close when supported workbook/tab/dashboard limits and concurrency are stated, enforced, and covered by merge/query benchmarks.
Validation and blockers
The fan-out paths are source-confirmed. A populated workbook set and concurrent query test are pending.