[DAB] postgres_endpoints: GET returns 404 for an endpoint that list-endpoints returns correctly
@janniklasrose ya está trabajando en esto.
Desde el 13/7/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Summary
After creating a new compute endpoint via the postgres_endpoints bundle resource (or equivalently POST .../endpoints), the single-resource lookup GET .../endpoints/{endpoint_id} reliably returns 404 NOT_FOUND for that endpoint — even though GET .../branches/{branch}/endpoints (list) correctly includes it with full status. This breaks the direct engine's post-create operation poll, and also breaks bundle deployment bind, leaving the bundle permanently unable to reconcile state for that resource.
This reproduces regardless of the endpoint's current_state — it was first observed while the endpoint was IDLE (auto-suspended), and continues to reproduce after the endpoint transitioned to ACTIVE. A second, pre-existing endpoint on the same branch (created directly rather than via this bug's code path) resolves fine via the same single-resource GET, so the failure is specific to this endpoint, not to endpoint state.
Environment
databricks bundleCLI v1.6.0DATABRICKS_BUNDLE_ENGINE=direct- Resource:
postgres_endpoints,endpoint_type: ENDPOINT_TYPE_READ_ONLY
Repro steps
-
Deploy a bundle containing a new
postgres_endpointsresource:resources: postgres_endpoints: read_replica_1: endpoint_id: read-replica-1 parent: projects/my-project/branches/production endpoint_type: ENDPOINT_TYPE_READ_ONLY autoscaling_limit_min_cu: 0.5 autoscaling_limit_max_cu: 0.5 suspend_timeout_duration: 300sdatabricks bundle deploy --target production -
The endpoint is created successfully (visible in the Databricks UI and via
list-endpoints), but the CLI's post-create operation poll 404s:Error: cannot create resources.postgres_endpoints.read_replica_1: endpoint not found (404 NOT_FOUND) GET https://<workspace-host>/api/2.0/postgres/projects/<project-id>/branches/production/endpoints/read-replica-1/operations/<op-id>Deploy state is never updated to reflect that the endpoint exists.
-
Re-running deploy attempts to create the endpoint again, and now fails with a conflict instead:
Error: cannot create resources.postgres_endpoints.read_replica_1: endpoint with such id already exists in the branch (400 BAD_REQUEST) POST https://<workspace-host>/api/2.0/postgres/projects/<project-id>/branches/production/endpoints?endpoint_id=read-replica-1 -
Attempting to reconcile via
bundle deployment bindfails the same way, since it also depends on the single-resource GET:databricks bundle deployment bind read_replica_1 "projects/<project-id>/branches/production/endpoints/read-replica-1" --target production Error: failed to fetch the resource, err: endpoint not found -
Confirmed directly via
databricks postgres get-endpoint(reproduced 3x consecutively, several seconds apart — not a transient propagation delay):databricks postgres get-endpoint "projects/<project-id>/branches/production/endpoints/read-replica-1" Error: endpoint not found -
Confirmed at the raw REST layer, bypassing the CLI entirely:
GET /api/2.0/postgres/projects/<project-id>/branches/production/endpoints/read-replica-1 → {"error_code":"NOT_FOUND","message":"endpoint not found"} -
Meanwhile,
list-endpointson the same parent branch correctly returns full status for the endpoint:databricks postgres list-endpoints "projects/<project-id>/branches/production" [ {"endpoint_id":"primary", "status": {"current_state": "ACTIVE", ...}}, {"endpoint_id":"read-replica-1", "status": {"current_state": "IDLE", ...}} ] -
The endpoint later transitioned to
current_state: ACTIVE(e.g. after a connection resumed it). Repeating step 5 against the now-ACTIVEendpoint still returns404 NOT_FOUND— ruling out endpoint state as the cause.
Expected behavior
GET .../endpoints/{endpoint_id} should return the same endpoint that list-endpoints returns for the parent branch. The CLI's create/poll and bind flows depend on this single-resource GET being consistent with the list endpoint.
Actual behavior
The single-resource GET 404s indefinitely for an endpoint that list-endpoints reports as existing — reproduced both while the endpoint was IDLE and after it became ACTIVE. This leaves the bundle's deployment state permanently unable to reconcile: deploy retries hit a create conflict, and bundle deployment bind cannot fetch the resource to bind it.
Impact
Once a postgres_endpoints resource hits this bug, the owning bundle becomes stuck — deploys touching that resource fail with either a 404 (during create/poll) or a 400 conflict (on retry), and there is no CLI-level way to recover without direct API/support intervention.
- Lenguaje dominante
- Go
- Estrellas
- 396
- Forks
- 233
- Merge medio
- 2 d 52 min
- PR fusionados (30 d)
- 276
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de databricks/cli
-
DABs
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
databricks/cli#6670 ·
-
DABs PyDABs
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
databricks/cli#3926 · 4 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 68/100
databricks/cli#6786 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
databricks/cli#6785 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
databricks/cli#6770 ·
Todos los issues de databricks/cli
Issues similares
-
kind/bug needs-triage
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
matrixorigin/matrixone#29223 ·
-
needs-acceptance wg/data-plane-networking
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
vllm-project/semantic-router#4024 · 1 comentario ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
alexgorbatchev/dotfiles#107 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 84/100