Skip to main content

PERF-CAT-001 — Bound Catalog search without loading the entire tree

FieldValue
StatusOpen finding; source-verified, scale boundary unmeasured
SeverityMedium
Affected surfaceCatalog and SQL Editor tree search
Implementation issueoqullus #532
Code-change repositorysparqd/oqullus

Where the problem appears​

Search for an object that has not yet been expanded and record discovery requests, concurrency, latency, cancellation, and browser memory.

Concrete observed case​

Search recursively loads unloaded catalogs and schemas before filtering locally. A single term can therefore enumerate the complete visible namespace and retain it in browser state.

Expected condition​

Provide authorized server-side search with bounded results, pagination, cancellation, and explicit partial/error states. Preserve canonical catalog-qualified identity in every result.

Cause and evidence​

  • Unloaded nodes are fetched as part of client search.
  • Filtering begins only after discovery data reaches the browser.
  • No supported catalog, schema, table, request, latency, or memory boundary is declared.

Why it matters​

Search latency and browser memory grow with the entire namespace rather than the result set, while failures can silently produce incomplete results.

Existing controls and workarounds​

Navigate through known catalog and schema paths instead of broad search in large workspaces.

Alternatives considered​

  1. Recommended: bounded server-side search over authorized metadata.
  2. Search only already loaded nodes — cheap but must be explicitly labelled incomplete.
  3. Continue recursive loading with concurrency limits — reduces spikes but still scales with total namespace.

Component involvement​

  • BFF owns authorized bounded search and pagination.
  • Oqullus owns debouncing, cancellation, result state, and identity.
  • Operations measures representative scale and latency.

Reproduction and verification​

Follow CAT-S008. Record the visible state, request outcome, effective identity, and recovery behavior relevant to this finding.

Resolution conditions​

Close when supported scale and latency boundaries are measured and search remains bounded, cancellable, complete within its declared scope, and explicit about partial failure.

Validation and blockers​

Oqullus and BFF owners must agree on the search contract; representative-scale evidence is missing.