Skip to content
This repository was archived by the owner on Oct 8, 2026. It is now read-only.

fix(scenario): read Trino endpoint from status.connection - #1247

Merged
bill-ph merged 1 commit into
mainfrom
claude/duckgres-workflow-failure-d271aa
Oct 1, 2026
Merged

bill-ph merged 1 commit into
mainfrom
claude/duckgres-workflow-failure-d271aa

Conversation

@bill-ph

@bill-ph bill-ph commented Oct 1, 2026

Copy link
Copy Markdown
Collaborator

Problem

The nightly scenario-dev / posthog_frozen_perf run failed (run 36837715683) at perf_queries:

trino readiness state for org "ci-pr-36837715683-cnpg" has no coordinator URL

The stack was healthy: provisioning, wait_trino_ready, SQL setup and Hoglake setup all passed. #1246 removed cell.coordinator_url from GET /api/v1/orgs/:id/trino. Pooled cells advertise their client endpoint (the Gateway) as status.connection instead. The scenario runner still required the removed field, so status.Cell.CoordinatorURL was always empty. The last green run was on 7cb596fc; the first red one is on fe14612b (#1246).

Fix

  • provision.TrinoStatus mirrors the current API: removes cell.coordinator_url and decodes status.connection.
  • perf_queries builds the Trino server URL as https://<host>:<port> from status.connection, the same source tests/mw-dev/e2e/trino.sh already uses. A missing connection fails with a clear status.connection error.
  • tests/mw-dev/README.md no longer documents cell.coordinator_url.

wait_trino_ready is deliberately unchanged. The admin API derives status.connection from the same conditions trinoReady already checks, plus root's password hash, which doesn't change during the wait. Waiting on the connection would turn an immediate, precise error into a 15-minute generic timeout.

In this scenario the trino and trino_cached targets still run against the isolated perf and cached Trino instances. The gateway address only feeds prepareBenchmarkCatalog's check that the benchmark doesn't reuse the tenant's Trino, and that check still holds.

Known gap (not addressed)

The Trino username is still status.principal, not status.connection.username. These differ only when a cell's client_url uses the {database_name} per-org host, which the mw-dev pool fixture doesn't. Fixing it properly means a different username per target, because the isolated perf/cached Trino instances need the principal.

Testing

  • go test ./tests/mw-dev/... ./tests/perf/publishercli (the workflow's own gate) passes.
  • Not yet re-run on mw-dev; a scenario-dev dispatch against this branch is the end-to-end check.

🤖 Generated with Claude Code

#1246 removed cell.coordinator_url from GET /api/v1/orgs/:id/trino; pooled
cells advertise their client endpoint (the Gateway) as status.connection
instead. The scenario perf step still required the removed field, so the
nightly posthog_frozen_perf run failed at perf_queries with "has no
coordinator URL" even though the stack was healthy.

Build the Trino server URL from status.connection host/port, the same source
tests/mw-dev/e2e/trino.sh already uses.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown

Test Impact Plan

Deterministic summary of how this PR changes tests, CI runners, and coverage-risk signals.

Summary

Area Added Changed Deleted
Test files 0 5 0
E2E/journey files 0 0 0
Workflow files 0 0 0

Signals

  • Test cases: +0 / -0
  • Assertions: +2 / -1
  • Skips or known failures added: 0
  • Workflow continue-on-error added: 0
  • Workflow path filters added: 0
  • Test commands removed from justfile: 0
  • E2E/journey retry lines added: 0

Coverage risk: neutral or increased

No coverage-reduction warnings detected.

@bill-ph
bill-ph merged commit 08a52fb into main Oct 1, 2026
33 checks passed
@bill-ph
bill-ph deleted the claude/duckgres-workflow-failure-d271aa branch October 1, 2026 16:51
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant