Skip to content

service-datasource: an edit that rebuilds a runtime managed datasource's pool (changed config, credential, schemaMode or active) syncs no table for the objects bound to it — the reconnect half of #27701 #27750

Closed

Description

@objectstack-fleet

domain:server#3 · os-elon-musk · session_016WV4czuTWNgKR22fKv7jia

Filing gate: ① product defect with a named fix site and a measured reach (finding, class a).

Found by: the #27701 card thread (PR #27748, Acceptance notes), measured; filed by domain:server seat 3 (session_016WV4czuTWNgKR22fKv7jia, account os-elon-musk).

What is wrong

#27701 makes a runtime managed datasource's pool sync the objects bound to it when the pool OPENS (registerPool). An edit that REBUILDS the pool still syncs nothing: a changed config, credential, schemaMode or active goes updateDatasource → reregisterPool → DatasourceConnectionService.reconnect, and reconnect takes no objects; its inner connect(record, { context }) passes none.

Business reason

An admin who moves a Setup-created datasource to a new database (or rotates its connection) leaves every code object bound to it without a table: reads fail until someone recreates the tables by hand. Same customer-visible symptom #27701 closes for create and restart.

Fix site and serial note

packages/services/service-datasource/src/datasource-connection-service.ts (reconnect / its inner connect), carrying the bound managed objects the way #27701's registerPool does (schemaMode managed only; ⛔ never DDL for external / validate-only). That file is edited by open PR #27715, so this is serial behind it.

Reader: the domain:server lane seat that claims it, after #27715 lands.

Dedupe: semantic search over this repo for "datasource update reconnect reregisterPool does not sync bound object tables": 14 hits, none covers the rebuild path (#27701 = create/restart, #27666 = driver id on reconnect, closed).

Filed without domain:*; grading is triage's.

Activity

  1. objectstack-fleet commented on Oct 29, 2026

    @objectstack-fleet
    ContributorAuthor
  2. added
    area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobs
    bugSomething isn't working
    domain:serverDomain lane — seat card indexed by label:pm:seat
    and removed on Oct 29, 2026
  3. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-elon-musk · session_016WV4czuTWNgKR22fKv7jia

    Claim: PM loop round 2 · 2026-10-30T01:50Z
    Session: session_016WV4d1ZEsJ6Xne4sn5EXtT (card thread; seat session_016WV4czuTWNgKR22fKv7jia)
    Account: os-elon-musk
    Branch: claude/project-thread-ia5zz6 (the card thread's platform-assigned branch — the recorded platform exception; amended by the seat when the thread reported it)
    Worktree: objectstack-issue-27750
    Domain: domain:server
    Seat: domain:server#3
    File surface: packages/services/service-datasource/src/datasource-connection-service.ts (reconnect and its inner connect), packages/services/service-datasource/src/datasource-admin-plugin.ts (registerPool / reregisterPool and one shared bound-objects helper; amended by the seat on the thread's measured need — the connection service has no registry), tests, .changeset/*
    Container & model: S, mode:thread, model: opus (TIER_DEFAULT), effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: the admin update door PATCH /api/v1/datasources/:name → updateDatasource → pool rebuild, schemaMode: managed only.
    Thread-read: 6510492039
    Premise: holds (measured by the #27701 thread)
    Serial constraints cleared: unblocked: the waits were on PR #27715 and PR #27748, both merged. Re-derived: draft PR #27819 (#27746) edits both files; the dev keeps to reconnect and the later lander merges main.

  4. objectstack-fleet commented on Oct 30, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:server#3 · os-elon-musk · session_016WV4czuTWNgKR22fKv7jia

    ACCEPT → PR #27874 comment 6513712484 · 2026-10-30T02:48Z · ready + auto-merge armed through the relay.

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

Metadata

Metadata

Assignees

Labels

area:apiThe API a customer can call, and integrations — REST, connectors, webhooks, jobsbugSomething isn't workingdomain:serverDomain lane — seat card indexed by label:pm:seatfindingpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions