Skip to content

Athena: 31 missing ops, UI polling leak, notebook/session UI #1124

Description

@agbishop

Athena — Service Deep Dive

Audit of services/athena/ and UI in ui/src/routes/athena/+page.svelte.

1. Missing SDK Operations

31 unimplemented (sdk_completeness_test.go#L19):

  • Calculations: GetCalculationExecution*
  • Sessions: Get/StartSession, GetSessionEndpoint/Status, TerminateSession
  • Capacity/Metadata: Get/PutCapacityAssignmentConfiguration, GetCapacityReservation, GetDatabase, GetTableMetadata
  • Notebooks: GetNotebookMetadata, Import/UpdateNotebook*
  • Executor/Engine: ListExecutors, ListEngineVersions, ListApplicationDPUSizes
  • UpdateNamedQuery, UpdatePreparedStatement, GetQueryRuntimeStatistics

2. Missing UI / Dashboard Features

Query editor, workgroups, catalogs, history exist. Missing: notebook editor, session mgmt, capacity reservation, prepared statement mgmt.

3. Goroutine / Resource / Lock Leaks

UI polling leak: setInterval in +page.svelte#L110 has no onDestroy cleanup; navigating away mid-poll leaks timers.

4. Performance Optimizations

  1. Results pagination capped at 100 (+page.svelte#L114) — lazy scroll.
  2. History uses Promise.allSettled over all executions (#L167) — could overwhelm backend.

Suggested Order

  1. Add onDestroy for polling interval
  2. Calculation + session APIs
  3. Lazy-scroll result pagination
  4. Prepared statement + capacity UI

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions